go strconv模块

package main

import (
	"fmt"
	"strconv"
)

func main() {
	// 把数字转换成字符串类型
	i1 := int32(97)
	fmt.Printf("i1 = %d, %T, %#v,%#v \n",i1,i1,i1,string(i1))

	ret2 := fmt.Sprintf("%d",i1)
	fmt.Printf("ret2 = %d, %T, %#v  \n",ret2, ret2, ret2)

	// 把字符串类型解析成数字
	str  := "10000"
	ret1,err := strconv.ParseInt(str, 10, 64)
	if err != nil {
		fmt.Println("parseing failed, err: ",err)
		return
	}
	fmt.Printf("%#v %T\n",ret1,ret1)

	retInt ,_ := strconv.Atoi(str)   // go里面字符串是Array类型的字节,所以是Atoi,而不是Stoi
	fmt.Printf("ret2 = %d, %T, %#v  \n",retInt, retInt, retInt)

	i := 97
	ret3 := strconv.Itoa(i)
	fmt.Printf("ret3 = %s, %T, %#v  \n",ret3, ret3, ret3)

	// Atoi:字符串转换成int
	retInt, _ = strconv.Atoi(str)
	fmt.Printf("retInt %#v %T\n", retInt, retInt)
	//从字符串中解析出布尔值
	boolStr := "true"
	boolValue,_ := strconv.ParseBool(boolStr)
	fmt.Printf("boolStr %#v %T\n", boolValue,boolValue)//从字符串中解析出浮点数

	floatStr := "1.234"
	floatValue,_:= strconv.ParseFloat(floatStr,64)
	fmt.Printf("floatStr %#v %T\n",floatValue,floatValue)

}

输出:

i1 = 97, int32, 97,"a"
ret2 = %!d(string=97), string, "97"
10000 int64
ret2 = 10000, int, 10000
ret3 = 97, string, "97"
retInt 10000 int
boolStr true bool
floatStr 1.234 float64
posted @ 2022-04-09 10:52  ty1539  阅读(25)  评论(0编辑  收藏  举报