摘要:
golang中的string是可以转换为byte数组或者rune数组但是其实byte对应的类型是uint8,而rune对应的数据类型就是int32所以string可以转换为四种类型 //interface转其他类型————返回值是interface,直接赋值是无法转化的 //interface 转s 阅读全文
摘要:
创建 Buffer缓冲器 var b bytes.Buffer //直接定义一个 Buffer 变量,而不用初始化 b.Writer([]byte(“Hello “)) // 可以直接使用 b1 := new(bytes.Buffer) //直接使用 new 初始化,可以直接使用 // 其它两种定义 阅读全文
摘要:
unsafe 针对刚刚的 “错误示例”,我们可以采用今天的男主角 unsafe 标准库来解决。它是一个神奇的包,在官方的诠释中,有如下概述: 围绕 Go 程序内存安全及类型的操作 很可能会是不可移植的 不受 Go 1 兼容性指南的保护 简单来讲就是,不怎么推荐你使用。因为它是 unsafe(不安全的 阅读全文
摘要:
Go中没有原生的禁止拷贝的方式,所以如果有的结构体,你希望使用者无法拷贝,只能指针传递保证全局唯一的话,可以这么干,定义 一个结构体叫 noCopy ,要实现 sync.Locker 这个接口 // noCopy may be embedded into structs which must not 阅读全文