Go 字符串类型转换。strconv.FormatXXX(),strconv.ParseXXX()

demo.go(其他类型转成字符串类型,strconv.FormatXXX()):

package main

import (
	"fmt"
	"strconv"
)

func main() {
	// 字符串转换成字符切片
	slice := []byte("hello") // 强制类型转换  string-->[]byte
	fmt.Println(slice)  // [104 101 108 108 111]

	// 字符切片转换成字符串
	slice2 := []byte{'h', 'e', 'l', 'l', 'o', 97}
	fmt.Println(string(slice2)) // helloa  强制类型转换  []byte-->string

	// strconv.FormatXXX() 其他类型转换成字符串
	str1 := strconv.FormatBool(true)   // bool-->string
	fmt.Println(str1)    // true
	fmt.Println(strconv.FormatInt(123, 10))  // 123  int-->string  10表示十进制
	fmt.Println(strconv.Itoa(123))    // 123  十进制int-->string
	fmt.Println(strconv.FormatFloat(3.14, 'f', 6, 64)) // 3.140000  float-->string  6:保留6位  64:float64
}

demo.go(字符串类型转成其他类型,strconv.ParseXXX()):

package main

import (
	"fmt"
	"strconv"
)

func main() {
	// strconv.ParseXXX()  字符串转换成其他类型
	
	// strconv.ParseBool()  string-->bool
	b, err_info := strconv.ParseBool("false")
	if err_info != nil { // 如果有错误信息
		fmt.Println("类型转换出错")
	} else {
		fmt.Println(b)  // false
	}

	// strconv.ParseInt()   string-->int64
	val, err_info := strconv.ParseInt("11011001", 2, 64) // 2:二进制  64:int64
	fmt.Println(val)  // 217

	// strconv.ParseFloat()   string-->float64
	val2, err_info := strconv.ParseFloat("3.1415", 64) // 64:float64
	fmt.Println(val2)  // 3.1415

	// strconv.Atoi()  string-->十进制int
	val3, _ := strconv.Atoi("123")
	fmt.Println(val3)  // 123
}

猜你喜欢

转载自blog.csdn.net/houyanhua1/article/details/88658252