Go基础类型转换

954 阅读1分钟

基础类型

  • int、int8、int16、int32、int64(指bit)
  • float32、float64
  • string
  • bool
  • byte

int2string

strconv.FormatInt(int64,base)

fmt.Sprintf("%v",int)#format

fmt.Sprint(int)

string2int

func ParseInt64(s string) (int64, error) {
	result, err := strconv.ParseInt(s, 10, 64)//base代表进制
	return result, err
}

func ParseInt64Silent(s string, defaultValue int64) int64 {
	result, err := ParseInt64(s)
	if err != nil {
		return defaultValue
	}
	return result
}
// Atoi is equivalent to ParseInt(s, 10, 0), converted to type int.
a := strconv.Atoi("1")//返回int类型

int2int

var a int32
var b int64
var c uint64

c := int64(a)
d := int32(b)#会丢失精度,谨慎使用
e := int64(c)#底层数据没变,只是变化了解释方式

string2byte

data := []byte{116,101,115,116}
str := string(data)

str := "test"
data := []byte(str)