golang 编译linux32,golang 64位linux环境下编译出32位程序操作

目标:在64位linux系统上编译出32位程序。

操作:

1.执行 go env 查看当前go环境配置

2.执行 export GOARCH=386 配置go输出系统平台为32位

3.go build 编译程序

4.使用file main 指令查看编译出的可执行程序是否为32位

实践图片:

c7ead5f65a1807018f994cf89a80f4ef.png

c17359474acbac074f372ff53a5b7ed5.png

补充:golang float32/64与[]byte互转

网络协议开发中经常需要将int、float、bool等转为二进制数据,float32、64 与[]byte处理:

import (

"encoding/binary"

"math"

)

func Float32ToByte(float float32) []byte {

bits := math.Float32bits(float)

bytes := make([]byte, 4)

binary.LittleEndian.PutUint32(bytes, bits)

return bytes

}

func ByteToFloat32(bytes []byte) float32 {

bits := binary.LittleEndian.Uint32(bytes)

return math.Float32frombits(bits)

}

func Float64ToByte(float float64) []byte {

bits := math.Float64bits(float)

bytes := make([]byte, 8)

binary.LittleEndian.PutUint64(bytes, bits)

return bytes

}

func ByteToFloat64(bytes []byte) float64 {

bits := binary.LittleEndian.Uint64(bytes)

return math.Float64frombits(bits)

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值