回顾前景
在上一节中,咱们留了一个代码:
func main() {
buffer := []byte("test")
stringData := reflect.StringHeader{
Data: uintptr(unsafe.Pointer(&buffer[0])),
Len: len(buffer),
}
str := *(*string)(unsafe.Pointer(&stringData))
mmp := make(map[string]int, 32)
mmp[str] = 3
mmp["abcd"] = 4
fmt.Println(mmp[str])
buffer[0] = 'a'
buffer[1] = 'b'
buffer[2] = 'c'
buffer[3] = 'd'
fmt.Println(mmp[str])
fmt.Println(mmp["test"])
fmt.Println(mmp["abcd"])
for k, v := range mmp {
fmt.Println(k, v)
}
}