package main import ( "fmt" "reflect" "strconv" "strings" ) func main() { i := 1024 i64 := int64(1024) fmt.Printf("i的数据类型:%+v \n", reflect.TypeOf(i).String()) // i的数据类型:int fmt.Printf("i64的数据类型:%+v \n", reflect.TypeOf(i64).String()) // i64的数据类型:int64 // int和int64转string strI := strconv.Itoa(i) // int转string strI64 := strconv.FormatInt(i64, 10) // int64转string fmt.Printf("strI的数据类型:%+v \n", reflect.TypeOf(strI).String()) // strI的数据类型:string fmt.Printf("strI64的数据类型:%+v \n", reflect.TypeOf(strI64).String()) // strI64的数据类型:string // string转int和int64 i, _ = strconv.Atoi(strI) // string转int i64, _ = strconv.ParseInt(strI64, 10, 64) // string转int64 fmt.Printf("i的数据类型:%+v \n", reflect.TypeOf(i).String()) // i的数据类型:int fmt.Printf("i64的数据类型:%+v \n", reflect.TypeOf(i64).String()) // i64的数据类型:int64 // []byte和string互相转换 bytes := []byte("要转为[]byte的字符串") // string转[]byte str := string(bytes) // []byte转string fmt.Printf("str = %+v \n", str) // str = 要转为[]byte的字符串 // []string转string strSlice := []string{"ma", "nong"} str = strings.Join(strSlice, "") fmt.Printf("strSlice = %+v \n", strSlice) // strSlice = [ma nong] fmt.Printf("str = %+v \n", str) // str = manong // float32/float64和string互相转换 fl32 := float32(3.14) // 单精度浮点数 fl64 := 3.14 // 双精度浮点数(默认) fmt.Printf("fl32的数据类型:%+v \n", reflect.TypeOf(fl32).String()) // fl32的数据类型:float32 fmt.Printf("fl64的数据类型:%+v \n", reflect.TypeOf(fl64).String()) // fl64的数据类型:float64 fmt.Println("fl32的值:" + fmt.Sprintf("%f", fl32)) // fl32的值:3.140000 备注:float32转string fmt.Println("fl64的值:" + fmt.Sprintf("%f", fl64)) // fl64的值:3.140000 备注:float64转string fl64, _ = strconv.ParseFloat("3.14", 64) // string转float64 }
Copyright © 2024 码农人生. All Rights Reserved