又是一个类型转换的问题,每门语言都会踩这个坑,而且动静态语言差异还比较大,动态的不需要考虑如何转,而是需要考虑转成了什么。而go…都需要考虑了,学习一哈~
ParseBool
功能:将字符串转换为布尔值
说明:
func ParseBool(str string) (value bool, err error)
接受真值:1, t, T, TRUE, true, True
接受假值:0, f, F, FALSE, false, False
其它任何值都返回一个错误
用法:
res, error := strconv.ParseBool(str) |
FormatBool
功能:将布尔值转换为字符串 “true” 或 “false”
说明:
func FormatBool(b bool) string
用法:
str := strconv.FormatBool(0 < 1) |
ParseFloat
功能:将字符串转换为浮点数
说明:
func ParseFloat(s string, bitSize int) (f float64, err error)
s:要转换的字符串
bitSize:指定浮点类型(32:float32、64:float64)
*如果 s 是合法的格式,而且接近一个浮点值,则返回浮点数的四舍五入值(依据 IEEE754 的四舍五入标准)
*如果 s 不是合法的格式,则返回“语法错误”
*如果转换结果超出 bitSize 范围,则返回“超出范围”
用法:
func main() { |
ParseInt
功能:将字符串转换为 int 类型
说明:
func ParseInt(s string, base int, bitSize int) (i int64, err error)
s:要转换的字符串
base:进位制(2 进制到 36 进制)
bitSize:指定整数类型(0:int、8:int8、16:int16、32:int32、64:int64)
如果 base 为 0,则根据字符串的前缀判断进位制(0x:16,0:8,其它:10)
用法:
func main() { |
Atoi
功能:将字符串转换为 int 类型
说明:
func Atoi(s string) (i int, err error)
相当于 ParseInt(s, 10, 0)
用法:
func main() { |
FormatFloat
功能:将浮点数 f 转换为字符串值
说明:
func FormatFloat(f float64, fmt byte, prec, bitSize int) string
参数:
f:要转换的浮点数
fmt:格式标记(b、e、E、f、g、G)
prec:精度(数字部分的长度,不包括指数部分)
bitSize:指定浮点类型(32:float32、64:float64)
- 格式标记:
‘b’ (-ddddp±ddd,二进制指数)
‘e’ (-d.dddde±dd,十进制指数)
‘E’ (-d.ddddE±dd,十进制指数)
‘f’ (-ddd.dddd,没有指数)
‘g’ (‘e’:大指数,’f’:其它情况)
‘G’ (‘E’:大指数,’f’:其它情况)
如果格式标记为 ‘e’,’E’和’f’,则 prec 表示小数点后的数字位数
如果格式标记为 ‘g’,’G’,则 prec 表示总的数字位数(整数部分+小数部分)
用法:
package main |
暂时只用到了这些,其他的以后用到再做补充~
To be continued!!!