strconv包提供各基本数据类型和字符串类型之间的转换函数
常用函数
- Atoi: 将字符串按十进制转换为int类型
- ParseBool:将字符串转换为bool类型
- Parse Float:将字符串按指定格式转换为float类型
- ParseInt:将字符串按指定进制转换为int类型
- Parsenit: 将字符串按指定禁止转换为uint类型
- Itoa:将·int类型按十进制转化为字符串
- FormatBool: 将bool类型转化为字符串
- FormatInt:将int类型按指定进制转化为字符串
- FormatUnit:将uint类型按指定进制转化为字符串
- FormatFloat: 将float类型按指定格式转化为字符串
操作
learnStrconv.go
```go package learnStrconv
import ( “fmt” “strconv” )
func LearnStrconv() { fmt.Println(strconv.Atoi(“30”)) fmt.Println(strconv.Atoi(“30x”))
fmt.Println(strconv.ParseInt("10", 10, 64)) // 10进制
fmt.Println(strconv.ParseUint("10",16,64))// 16进制
fmt.Println(strconv.ParseBool("true"))
fmt.Println(strconv.ParseFloat("3.14", 64))
fmt.Println(strconv.Itoa(30))
fmt.Println(strconv.FormatInt(30, 10))// 10进制
fmt.Println(strconv.FormatUint(30, 16))// 16进制
fmt.Println(strconv.FormatBool(true))
fmt.Println(strconv.FormatFloat(3.14, 'g', -1, 64))
}
<a name="V6T4I"></a>
## learnStrconv_test.go
```go
package learnStrconv
import "testing"
func TestLearnStrconv(t *testing.T) {
LearnStrconv()
}
执行结果
GOROOT=C:\Program Files\Go #gosetup
GOPATH=C:\Users\ligz\go #gosetup
"C:\Program Files\Go\bin\go.exe" test -c -o C:\Users\ligz\AppData\Local\Temp\GoLand\___basicproject_learnStrconv__TestLearnStrconv.test.exe -gcflags "all=-N -l" basicproject/learnStrconv #gosetup
"C:\Program Files\Go\bin\go.exe" tool test2json -t "E:\GoLand 2021.2.1\plugins\go\lib\dlv\windows\dlv.exe" --listen=127.0.0.1:50282 --headless=true --api-version=2 --check-go-version=false --only-same-user=false exec C:\Users\ligz\AppData\Local\Temp\GoLand\___basicproject_learnStrconv__TestLearnStrconv.test.exe -- -test.v -test.paniconexit0 -test.run ^\QTestLearnStrconv\E$ #gosetup
API server listening at: 127.0.0.1:50282
=== RUN TestLearnStrconv
30 <nil>
0 strconv.Atoi: parsing "30x": invalid syntax
10 <nil>
16 <nil>
true <nil>
3.14 <nil>
30
30
1e
true
3.14
--- PASS: TestLearnStrconv (0.00s)
PASS
调试器 已完成,退出代码为 0