1. 選取數字加英文本母組成32個字元的字串,用於表示32進製數。
2. 用乙個特定的字元比如`g`作為分隔符,解析的時候字元`g`後面的字元不參與運算。
3. len表示邀請碼長度,預設為6。
**如下:
package invitecodeimport (
"strings"
)const (
base = "e8s2dzx9wyltn6bqf7cp5ik3mjuar4hv"
decimal = 32
pad = "g"
len = 6
)// id轉code
func encode(uid uint64) string
reslen := len(res)
if reslen < len
} return res
}func decode(code string) uint64
// 查詢補位字元的位置
ispad := strings.index(code, pad)
if ispad != -1
r := 0
for i := 0; i < lencode; i++
index, ok := baserev[code[i]]
if !ok
b := uint64(1)
for j := 0; j < r; j++
res += uint64(index) * b
r++} return res
}
Go語言實現區塊鏈挖礦基於POW共識
注釋都已經標註上了 如下 package main import time strconv crypto sha256 encoding hex fmt strings 通過 實現pow挖礦 定義區塊 type block struct 第乙個區塊 創世區塊 func generatefirstbl...
LRU演算法的GO語言實現
lru演算法原理,來自 1.假設我們使用雜湊鍊錶來快取使用者資訊,目前快取了4個使用者,這4個使用者是按照時間順序依次從鍊錶右端插入的 2.此時,業務方訪問使用者5,由於雜湊鍊錶中沒有使用者5的資料,我們從資料庫中讀取出來,插入到快取當中。這時候,鍊錶中最右端是最新訪問到的使用者5,最左端是最近最少...
排序演算法的GO語言實現
func bubblesort arr int,arrlength int if flag 把數字插入到合適的位置 package algo import testing 第乙個數字是有序的,從後面的數字取乙個出來,放在有序範圍內 func insertionsort arr int,arrleng...