go string []byte相互转换
string 不能直接和byte数组转换string可以和byte的切片转换1,string 转为[]bytevar str string = "test"var data []byte = []byte(str)2,byte转为stringvar data [10]byte byte[0] = 'T'byte[1] = 'E'var str string = string(data[:])阅读全文
go+chan并发执行
利用一个chan执行一个并发的任务, 整个任务的最大耗时是最耗时的那个子任务 func SendChan(data int){ t := 10 - data if data == 5{ t = 20 } time.Sleep(time.Duration(t*1e9)) C <- data } func main(){ for i:=0; i<10; i++{ ...阅读全文
go int 和 []byte互相转化
1,Int2Byte 把int的每个字节取出来放入byte数组中,存储采用Littledian2,Byte2Int 把byte Slice 中的每个字节取出来, 按Littledian端拼成一个intfunc Int2Byte(data int)(ret []byte){ var len uintptr = unsafe.Sizeof(data) ret = make([]byte, len) var tmp int = 0xff ...阅读全文
go append返回一个新的内存
关于go 的append1, 当slice基于array创建的时候,slice和array是同一段内存, slice的len, cap受限与array;2,当append的时候, 返回的值是一个新的内存, 与源array没有关系import "fmt"func TestSliceBaseArray(){ var data [3]string = [3]string{"1", "2", "3"} one := data[:] fmt.Println(one) t...阅读全文