Golang字符串解析成数字

时间:2021-01-16 20:47:28
package main
import (
"strconv"
"fmt"
)
func main() {
// 使用ParseFloat解析浮点数,64是说明使用多少位
// 精度来解析
f, _ := strconv.ParseFloat("1.234", )
fmt.Println(f) // 对于ParseInt函数,0 表示从字符串推断整型进制,
// 则表示返回结果的位数
i, _ := strconv.ParseInt("", , )
fmt.Println(i) // ParseInt能够解析出16进制的数字
d, _ := strconv.ParseInt("0x1c8", , )
fmt.Println(d) // 还可以使用ParseUint函数
u, _ := strconv.ParseUint("", , )
fmt.Println(u) // Atoi是解析10进制整型的快捷方法
k, _ := strconv.Atoi("")
fmt.Println(k) // 解析函数在遇到无法解析的输入时,会返回错误
_, e := strconv.Atoi("wat")
fmt.Println(e)
}
1.234

strconv.Atoi: parsing "wat": invalid syntax
    //转换为字符串后追加到字节数组
slice := make([]byte, , )
slice = strconv.AppendBool(slice, true)
//第二个数为要追加的数,第3个为指定10进制方式追加
slice = strconv.AppendInt(slice, , )
slice = strconv.AppendQuote(slice, "abcgohello") fmt.Println("slice = ", string(slice)) //转换string后再打印 //slice =  true1234"abcgohello" //字符串转其它类型
var flag bool
var err error
flag, err = strconv.ParseBool("true")
if err == nil {
fmt.Println("flag = ", flag) //flag =  true
} else {
fmt.Println("err = ", err)
}