基於GO語言實現的固定長度邀請碼

2022-06-16 14:42:08 字數 803 閱讀 9015

1. 選取數字加英文本母組成32個字元的字串,用於表示32進製數。

2. 用乙個特定的字元比如`g`作為分隔符,解析的時候字元`g`後面的字元不參與運算。

3. len表示邀請碼長度,預設為6。

**如下:

package invitecode

import (

"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...