摘要: GO语言变量逃逸分析 空格键_11aa · 2019-07-09 21:32:41 · 274 次点击 · 预计阅读时间 1 分钟 · 大约1分钟之前 开始浏览 这是一个创建于 2019-07-09 21:32:41 的文章,其中的信息可能已经有所发展或是发生改变。 引言 ​ 内存管理的灵活性是让C/C++程序猿们又爱又恨的东西,比如malloc或new一块内存我可以整个进程使用... 阅读全文
posted @ 2019-12-19 19:53 离地最远的星 阅读(1013) 评论(0) 推荐(0) 编辑
摘要: 字符串常用函数 package main import ( "fmt" "strings" ) func main() { str := "I love my work and i love my family too" ret := strings.Split(str, " ") fmt.Println(ret) ... 阅读全文
posted @ 2019-12-19 19:53 离地最远的星 阅读(108) 评论(0) 推荐(0) 编辑
摘要: jsoniter高性能json库 非常快,支持java和go marshal使用的一些坑 package main import ( "encoding/json" "fmt" ) type User struct { Id int `json:"id,string"` //加了这个序列化到json中int类型会被转换成string类型 Name st... 阅读全文
posted @ 2019-12-19 19:52 离地最远的星 阅读(1129) 评论(0) 推荐(0) 编辑
摘要: package main import ( "log" "net/http" "os" "os/signal" ) type webhandler struct { } type web2handler struct { } func (webhandler) ServeHTTP(writer http.ResponseWriter, request *htt... 阅读全文
posted @ 2019-12-19 19:50 离地最远的星 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 使用Fprintln追加字符串到文件末尾 package main import ( "fmt" "os" ) func main() { f,err := os.Create("test.txt") defer f.Close() if err != nil{ return } if err!=nil{ ... 阅读全文
posted @ 2019-12-19 19:49 离地最远的星 阅读(136) 评论(0) 推荐(0) 编辑
摘要: package main import ( "fmt" "os" ) func main() { f, err := os.Open("/test.txt") if err, ok := err.(*os.PathError); ok { fmt.Println("File at path", err.Path, "failed to open"... 阅读全文
posted @ 2019-12-19 19:48 离地最远的星 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 互斥锁 package main import ( "fmt" "sync" "time" ) var mux sync.Mutex func Printer(s string) { mux.Lock() for _, v := range s { fmt.Printf("%c", v) time.Sleep(300 ... 阅读全文
posted @ 2019-12-19 19:47 离地最远的星 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 数组 如果元素支持==和!=操作符,那么数组也支持此操作 a := [...]int{1, 2, 3} b := [...]int{4, 5, 6} println(a == b) // false println(a != b) // true //下面的代码会抛出异常,因为map类型不支持==和!=运算 c := [...]map[int]str... 阅读全文
posted @ 2019-12-19 19:46 离地最远的星 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 这种方式是Go所推荐的,优点就是安全,尽管这种操作会发生内存拷贝,导致性能上会有所损耗,这在处理一般业务时这种损耗是可以忽略的。但如果是拷贝频繁的情况下,想要进行性能优化时,就需要引入unsafe.Pointer了: func main() { var s = []byte("我永远喜欢藤原千花.jpg") Res := *(*string)(unsafe.Pointer(&s... 阅读全文
posted @ 2019-12-19 19:45 离地最远的星 阅读(405) 评论(0) 推荐(0) 编辑
摘要: package main import ( "fmt" "unsafe" ) type TestStructTobytes struct { data int64 s int8 } type SliceMock struct { addr uintptr len int cap int } func main() { ... 阅读全文
posted @ 2019-12-19 19:44 离地最远的星 阅读(1258) 评论(0) 推荐(0) 编辑