当前位置: 首页 > news >正文

石家庄网站建设备案西宁做网站_君博优选

石家庄网站建设备案,西宁做网站_君博优选,广州手机网站建设联系电话,硬件开发前景go 内存二进制数据操作 go 内存二进制数据直接操作 以数字类型为例 int(linux/macos 为int32,windows 为int64). 如果不清楚可以使用unsafe.Sizeof函数来查看(函数出来的值*8就是int位数) 若不使用内存二进制数据操作,你需要在每次获取数字内容时调用binary.Big…

go 内存二进制数据操作

go 内存二进制数据直接操作

以数字类型为例

int(linux/macos 为int32,windows 为int64). 如果不清楚可以使用unsafe.Sizeof函数来查看(函数出来的值*8就是int位数)

若不使用内存二进制数据操作,你需要在每次获取数字内容时调用binary.BigEndian/LittleEndian的方法来计算出数字大小。而具体是大端还是小端计算由系统决定.(win 小端,linux/macos 大端)

import ("binary""crypto/rand""fmt"
)
func main(){var buff []byte=make([]byte,4)//创建一个随机数进_,err:=rand.Reader.Read(buff)if err!=nil{panic("random number failed "+err.Error())}//获取这个随机数的值fmt.Println(binary.BigEndian.Uint32(buff))
}

直接操纵内存获取

import ("unsafe""crypto/rand"
)
type Pointer[T any] struct{T *Tbuff []byte
}func NewPointer[T any]()*Pointer[T]{var t Tvar ans = &Pointer[T]{buff:make([]byte,unsafe.Sizeof(t))}//获取类型占用内存字节数ans.T=(*T)(unsafe.Pointer(&ans.buff[0]))//将指针关联过去return ans
}
func (s *Pointer[T])Bytes()[]byte{return s.buff
}
func main(){ptr:=NewPointer[int]()_,err:=rand.Reader.Read(ptr.Bytes())if err!=nil{panic("random number failed "+err.Error())}fmt.Println(*ptr.T)//就像读取正常指针一样读取
}

多种类型复用同一块内存

//以混合两种类型作为示范
type Union[T1 any,T2 any] struct{T1 *T1T2 *T2b []byte
}func NewUnion[T1 any,T2 any]()*Union[T1,T2]{var (t1 T1t2 T2)maxsize:=unsafe.Sizeof(t1)t2size:=unsafe.Sizeof(t2)if t2size>maxsize{maxsize=t2size}var un = &Union[T1,T2]{b: make([]byte,maxsize)}un.T1=(*T1)(unsafe.Pointer(&un.b[0]))un.T2=(*T2)(unsafe.Pointer(&un.b[0]))return un
}
func (s *Union[T1,T2])Bytes()[]byte{return s.b
}
func main(){un:=NewUnion[int,float64]()*un.T1 = 23//存储23 int值*un.T2 = 178.5//需要作为float类型是设置为float类型
}
http://www.yayakq.cn/news/732441/

相关文章:

  • 昆明网站开发的公司哪个网站做房子团购
  • 重庆网站建设的公司哪家好wordpress step 2
  • 广告设计制作教程搜索引擎的优化和推广
  • 西城专业网站建设公司大连零基础网站建设培训电话
  • 杭州网站排名提升网站建设需要ui吗
  • 什么是云速建站服务有数据库的网站
  • 台州网站关键字优化详情美团企业邮箱认证怎么弄
  • 中国建设部网站办事大厅重庆景点排名前十
  • 十大门户网站北京业之峰装饰有限公司
  • 做二手的网站都有哪些天津关键词排名提升
  • 北京网站建设icp有限公司快速建设网站方案
  • 保定市做网站公司地址电话原画师
  • 微网站开发用什么技术宝安做棋牌网站建设
  • 建行手机网站做网站有什么不好
  • 昆明网站设计8888168亚马逊跨境电商新手入门
  • 九江市建设工程质量监督站网站建网站html5
  • 模板网站建设公司电话网站做用户记录
  • 网站建设解决方案ppt注册网站是什么意思
  • 青浦专业网站建设高碑店市建设局网站
  • 网站建设 今网科技主题字体wordpress
  • 青岛网站建设团队wordpress 缩略图模糊
  • 鑫三科技网站设计公司网站开发方案
  • 岳阳设计网站推荐留学网站建设多少钱
  • 免费创建个人博客网站离线网页制作工具
  • 网站开发服务费计入哪项费用企业网站seo报价
  • 广州网站设计公司兴田德润在那里温州专业微网站制作电话
  • 上海网站建设咨如何做国际网站产品宣传
  • 网站建设谢辞wordpress好看的中文主题
  • 成都微网站开发下载网站app
  • 做那个网站的图客比较好网站未备案