Go进阶(6): uuid生成及其作用
生活随笔
收集整理的這篇文章主要介紹了
Go进阶(6): uuid生成及其作用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1. uuid的作用
uuid是Universally Unique Identifier的縮寫,即通用唯一識別碼。
uuid的目的是讓分布式系統(tǒng)中的所有元素,都能有唯一的辨識資訊,而不需要透過中央控制端來做辨識資訊的指定。如此一來,每個人都可以建立不與其它人沖突的 uuid。A universally unique identifier (UUID) is a 128-bit number used to identify information in computer systems.
2. Golang中生成uuid并在websocket中使用
目前,golang中的uuid還沒有納入標準庫,因此我們使用github上的開源庫:go get -u github.com/satori/go.uuid。
示例:
package mainimport ("fmt""github.com/satori/go.uuid" )func main() {// 創(chuàng)建u1 := uuid.NewV4()fmt.Printf("UUIDv4: %s\n", u1)// 解析u2, err := uuid.FromString("f5394eef-e576-4709-9e4b-a7c231bd34a4")if err != nil {fmt.Printf("Something gone wrong: %s", err)return}fmt.Printf("Successfully parsed: %s", u2) }- uuid在websocket中使用:
該示例在websocket中為每一個連接的客戶端分配一個uuid,golang中可以使用github.com/gorilla/websocket為我們提供的websocket開發(fā)包。
聲明客戶端結(jié)構(gòu)體代碼如下:
type Client struct {id stringsocket *websocket.Connsend chan []byte }使用代碼:
client := &Client{id: uuid.NewV4().String(), socket: conn, send: make(chan []byte)}?
總結(jié)
以上是生活随笔為你收集整理的Go进阶(6): uuid生成及其作用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Go进阶(5): 数组与切片+多维数组+
- 下一篇: 美国凤凰号探测器从火星土壤中提取到水