原创 go 讀寫csv文件
package main import ( "encoding/csv" "fmt" "os" ) func write() { f, err := os.Create("test.csv")
原创 go sort排序
package main import ( "fmt" "sort" ) func main() { str := []string{"我", "是", "d", "b","c", } sort.Str
原创 雪花Id 全局唯一Id:雪花算法
全局唯一Id:雪花算法 雪花算法-snowflake 分佈式系統中,有一些需要使用全局唯一ID的場景,這種時候爲了防止ID衝突可以使用36位的UUID,但是UUID有一些缺點,首先他相對比較長,另外UUID一般是無序的。 有些時候我們希
原创 go 生成雪花id
package lib import ( "sync" "time" ) type AlgorithmSnowFlake struct { sync.Mutex machineId int64
原创 time實現定時器
package main import ( "fmt" "time" ) func task() { fmt.Println(time.Now().Local()) } func main() {
原创 go 發送郵件
email 模塊 func SendMail(i int, err error) { e := email.NewEmail() e.From = "zj <[email protected]>" e.To = []
原创 go 字符串操作
package mainimport ( "fmt" "strconv" "strings")// 字符串遍歷func bL(str string) { fmt.Println(len(str)) // 字節長度 //
原创 go 實現的排序算法
1. 冒泡排序 實現原理: 代碼 func main() { arr := [5] int{5, 23, 15, 6, 9} for i:=len(arr)-2;i>=0;i--{ for j
原创 6.併發
1. goroutine go關鍵字實現的最簡單的併發, 注意程序會在main函數結束時退出程序,並不會等待其他goroutin結束。 package main import ( "fmt" "time" ) func
原创 xxx go內置函數
time模塊 fmt.Println(time.Now()) //當前時間 fmt.Println(time.Now().Unix()) // 十位數時間戳 fmt.Println(time.Now().
原创 5 面向對象
1 類型系統 1.1給類型添加方法 // 爲類型添加方法 type Integer int // 定義一個新類型Integer, 它與int類型相同 func (a Integer) Less(b Integer) bool {
原创 04 錯誤處理
1. error接口 如何在函數中返回錯誤 // 函數返回錯誤的方法: 將error作爲多重返回值中的最後一個 func Foo(param int)(n int, e error) { if param < 0{
原创 02 流程控制語句
1. 條件控制 a := 3 if a > 5 { fmt.Println("big") } else { fmt.Println("small") } 2. 選擇語句
原创 03 函數
1. 函數定義 import "errors" func Add(a int, b int) (ret int, err error) { if a < 0 || b < 0 { err = errors.New
原创 ffmeq的使用
https://www.jianshu.com/p/ddafe46827b7