原创 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