go-指针原创
# Go 的指针是不支持指针运算和转换
Go 是一门静态语言,所有的变量都必须为标量类型.不同的类型不能够进行赋值,计算等跨类型的操作 指针也对应着相对的类型,也在 Compile 的静态类型检查的范围内 同时静态语言,也称为强类型.也就是一旦定义了,就不能再改变它
# unsafe.Pointer不安全指针
它表示任意类型且可寻址的指针值,可以在不同的指针类型之间进行转换(类似 C 语言的 void * 的用途) 其包含四种核心操作:
- 任何类型的指针值都可以转换为 Pointer
- Pointer 可以转换为任何类型的指针值
- uintptr 可以转换为 Pointer
- Pointer 可以转换为 uintptr
unsafe.Pointer 可以让您的变量在不同的指针类型转来转去,也就是表示为任意可寻址的指针类型 uintptr 常用于与 unsafe.Pointer 打配合,用于做指针运算
上次更新: 2022/08/24, 18:07:47