在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
数据类型分类一、数据类型-基本数据类型1、整数型(int、有符号(int8/1字节、int16/2字节、int32/4字节、int64/8字节)、无符号(uint、uint8、uint16、uint32、uint64)) int--根据系统位数自动定义,系统是32位,则为int32,系统是64位,则位int64 uint--根据系统位数自动定义,系统是32位,则为uint32,系统是64位,则位uint64 2、浮点型:由符号位+指数位+位数位组成,分为float32,float64 尾数位可能会丢失,造成精度损失,不受操作系统的影响,声明默认为64位 有两种显示方式:科学计数:534e3等价于534*10的3次方,534e-3等价于534/10的3次方,e不区分大小写;小数时前面0可不写 3、布尔型:只能是true,false,占用一个字节 4、字符串 字符:单引号括起来的单个字符,需要格式化输出,%c,否则输出字符码数, utf-8英文1个字节,中文3个字节 存储:字符-对应码数-二进制-存储 读取:二进制-对应码数-字符-读取 字符串不可修改,双引号里有转义字符会被识别,反引号里不会识别里面的转移字符 5、格式化输出符号 %c:该值对应的unicode码值 %d:表示为十进制显示 %T:值的类型 %q:该值对应的双引号括起来的go语法字符串字面值 %f:显示小数 二、数据类型-派生数据类型指针、数组、结构体、管道、函数、切片、接口、map 数据类型转换一、int/float/bool/字符--转换成str,用fmt.sprintf进行转换,%q展示双引号括起来的字符串面值var( num4 = 1 num5 = 3.44 char = 'w' bl = true str1 string ) //int-->>string str1 =fmt.Sprintf("%d",num4) fmt.Printf("str=%q",str1) 二、str转int/float/bool,用strconv包的函数进行转换注意事项: 1、使用strconv包的函数,先导入strconv包,会返回两个值,第一个是value,第二个是error,一个是报错,报错不需要用_忽略掉,%v-按原类型输出 2、string类型转基本数据类型能够转成有效数据 3、如将hello转成int,不会报错,直接显示默认值0 4、如将hello转成bool,不会报错,直接显示默认值false 5、ParseBool(变量名),(值,报错) 6、ParseInt(变量名,显示进制(10进制),多少位(int8/16/32/64)),(值-int64,报错) 7、ParseFloat(变量名,位数flaot32/64),(值float64,报错) var( str2 = "true" b1 bool str3 = "122333" n1 int64 str4 = "23.33" n2 float64 ) //string转bool,%v是展示值的默认格式 b1,_ = strconv.ParseBool(str2) fmt.Printf("b=%v",b1) //string转int n1,_ = strconv.ParseInt(str3,10,64) fmt.Printf("n1=%v",n1) //string转float n2,_ = strconv.ParseFloat(str4,64) fmt.Printf("n2=%v",n2) }
|
请发表评论