2、string到int64
3、string到int32
4、字符串 转 uint64
1、int到string
2、int64到string
3、uint64 转 字符串
uint8,int8,uint16,int16,uint32,int32,float32,uint64,int64,float64
1、int64与uint64
2、int64转float64
1、string 转为[]byte
2、byte转为string
将字符串转换为byte步骤如下:
1、文件——新建——项目。
2、选择为:控制台应用程序。
3、确定后系统生成的代码。
4、测试1代码: 把字符串转换成byte数组。
5、测试1结果字符串转换成byte数组成功。
6、测试2代码:把一个byte数组转换为一个字符串。
7、测试2结果byte数组成字符串成功。
golang语言本身就是c的工具集,开发c的程序用到的大部分结构体,内存管理,携程等,golang基本都有,他只是在这个基础上又加了一些概念这里说一个很小的问题,就是字节数组转string的问题,网上大部分都是这样转的(包括google上):string(p[:]),这个转完了是有问题的,我们再来看一下string这个结构体:struct String
{
byte* str
intgo len
}
这个结构体让我想起了nginx的string,他是这样定义的:
typedef struct {
size_t len
u_char *data
} ngx_str_t
golang里边 string的概念其实不是以前遇到\0结尾的概念了,他其实就是一块连续的内存,首地址+长度,上面那样赋值,如果p里边有\0,他不会做处理这个时候,如果再对这个string做其他处理就可能出问题了,比如strconv.Atoi转成int就有错误,解决办法就是需要自己写一个正规的转换函数:
func byteString(p []byte) string {
for i := 0i <len(p)i++ {
if p[i] == 0 {
return string(p[0:i])
}
}
return string(p)
}
这样就不会出问题了