go 类型 value 不支持索引_换个角度看:Go里的unsafe包是什么?

点击上方蓝色“Go语言中文网”关注我们,领全套Go资料,每天学习 Go 语言

注意:本文基于Go 1.12版本

从Unsafe这个包名上,我们会比较自然的意识是不用去使用它。要去理解这个包可能不安全的原因,我们先来看下文档的描述吧:

Package unsafe contains operations that step around the type safety of Go programs. Packages that import unsafe may be non-portable and are not protected by the Go 1 compatibility guidelines. unsafe 包包含了很多围绕go程序类型安全的操作。导入了unsafe的包可能会是不可移植的,也不受Go 1的兼容性原则保护。

因此,unsafe被用于和Go提供的安全类型相对立的一个名称了。让我们深入理解下文档中提到的2个要点。

类型安全

在Go语言里,每个变量都有一种类型,可以在分配给另一个变量之前转换为另一种类型。在转换期间,Go会对数据进行转换来适应新的期望的类型。这里有个例子:

var i int8 = -1 // -1 binary representation: 11111111
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值