package main
import (
"fmt"
"unsafe"
)
func main() {
slice := make([]byte, 100)
sString := *(*string)(unsafe.Pointer(&slice))
fmt.Println(sString, len(sString)) // 100
slice[0] = 'H'
slice[1] = 'E'
slice[2] = 'L'
slice[3] = 'L'
slice[4] = 'O'
slice[30] = '2'
slice[31] = '0'
slice[32] = '2'
slice[33] = '3'
fmt.Println(sString, len(sString)) // HELLO2023 100
}
疑问:
1.slice 失去引用时,sString是否无法正常引用底层元数据
2.slice[5:30] 数据为空,为何sString不显示空白