数据类型转换

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