package main import ( "fmt" "strconv" "unicode/utf8" ) func main() { ascii := "abc我爱中华人民共和国" fmt.Println([]byte(ascii)) fmt.Println([]rune(ascii)) fmt.Println(len(ascii)) fmt.Println(len([]rune(ascii))) fmt.Println(utf8.RuneCountInString(ascii)) // 转换成字符串输出 fmt.Println(string([]byte(ascii))) fmt.Println(string([]rune(ascii))) // 1. func Itoa(i int) string // 将整数转换为十进制字符串形式(即:FormatInt(i, 10) 的简写) // 例1: i1 := 10 s1 := strconv.Itoa(i1) fmt.Printf("1: %T,%#v ", s1, s1) // 2. func Atoi(s string) (int, error) // 将字符串转换为十进制整数,即:ParseInt(s, 10, 0) 的简写) // 例1: ch, err := strconv.Atoi("97") fmt.Println("2: ", ch, err) // 例2: v2 := "10" if v2, err := strconv.Atoi(v2); err == nil { fmt.Printf("2: %T,%#v ", v2, v2) } // 3. func FormatBool(b bool) string // 将布尔值转换为字符串 true 或 false // 例 vbool := true sbool := strconv.FormatBool(vbool) fmt.Printf("3: %T,%#v ", sbool, sbool) // 4. func FormatInt(i int64, base int) string // 5. func FormatUint(i uint64, base int) string // 将整数转换为字符串形式。base 表示转换进制,取值在 2 到 36 之间。 // 结果中大于 10 的数字用小写字母 a - z 表示。 // 例FormatInt v4 := int64(-42) s4 := strconv.FormatInt(v4, 10) fmt.Printf("4: %T,%#v ", s4, s4) s4 = strconv.FormatInt(v4, 16) fmt.Printf("4: %T,%#v ", s4, s4) fmt.Println(strconv.FormatFloat(3.1415926, 'f', 10, 64)) //转成小数位为10位的64位浮点数 pi, err := strconv.ParseFloat("3.1415926", 64) fmt.Println(pi, err) fmt.Println(strconv.FormatBool(true)) fmt.Println(strconv.ParseBool("t")) b, err := strconv.ParseInt("5", 10, 8) fmt.Println(b, err) fmt.Println(strconv.FormatInt(15, 2)) }