獨一無二的GUID

GUID(Global unique identifier)是一個128位長的數字,一般用16進製表示。算法的核心思想是結合機器的網卡、當地時間、一個隨機數來生成GUID。從理論上講,如果一臺機器每秒產生10000000個GUID,則可以保證(概率意義上)3240年不重複。

GUID 的格式爲“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每個 x 是 0-9 或 a-f 範圍內的一個十六進制的數字。例如:76895313-839E-4E89-BAFC-B253BFF3173F

世界上的任何兩臺計算機都不會生成重複的 GUID 值。GUID 主要用於在擁有多個節點、多臺計算機網絡系統中,分配必須具有唯一性的標識符。在 Windows 平臺上,GUID 應用非常廣泛:註冊表、類及接口標識、數據庫、甚至自動生成的機器名、目錄名等。

1.SQL Server數據庫
以前開發SQL Server數據庫將表定義中將列類型指定爲uniqueidentifier,則列的值就爲 GUID 類型。

2.使用T-SQL生產一個GUID
insert into table1(id,name,...) values(NewID(),'張三',...)

3.在C#中創建一個GUID
Guid guid = Guid.NewGuid();

Console.Writeln(guid.ToString());


4.在C++中創建GUID

C++中沒有直接創建GUID的接口,需要自己寫。這個可以看下別人是怎麼寫的。我們的遊戲開發就是用的自己的算法


5.在Java中創建UUID

UUID是1.5中新增的一個類,在java.util下,用它可以產生一個號稱全球唯一的ID 

Java代碼  收藏代碼
  1. import java.util.UUID;  
  2. public class Test {  
  3.  public static void main(String[] args) {  
  4.   UUID uuid = UUID.randomUUID();   
  5.   System.out.println (uuid);  
  6. }  
  7. }  
編譯運行輸出: 
07ca3dec-b674-41d0-af9e-9c37583b08bb 


GUID在遊戲開發中應有很多,像物品的ID,角色ID都是用的GUID。使用這個全球唯一ID,再也不用擔心ID重複了0.0

發佈了57 篇原創文章 · 獲贊 108 · 訪問量 39萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章