1. 程式人生 > 其它 >Go 資料型別轉換

Go 資料型別轉換

技術標籤:Go語言基礎入門

簡單的轉換操作

//a是浮點型
a := 5.0
// 轉換為int型別
b := int(a)
c := int32(a)
d := int64(a)

注意

  1. Go允許在底層結構相同的兩個型別之間互轉
  2. 低精度轉換為高精度時是安全的,高精度的值轉換為低精度時會丟失精度
  3. 這種簡單的轉換方式不能對int(float)和string進行互轉

strconv包

Atoi()和Itoa()

// Atoi(): string -> int
i,_ := strconv.Atoi("3")
println(3 + i)   // 6

//Itoa():int -> string
var number = 10 itoa := strconv.Itoa(number) logs.Info(itoa)

string轉int等

//string 轉 int
var str string ="1"
i, _ := strconv.Atoi(str)
logs.Info(i)

//string 轉 int64
i64, _ := strconv.ParseInt(str, 10, 64)
logs.Info(i64)

//string 轉 byte
bytes := []byte(str)
logs.Info(bytes)

int轉string等

//int轉string
var number=10 itoa := strconv.Itoa(number) logs.Info(itoa) //int64轉string var numbers int64=50 formatInt := strconv.FormatInt(numbers, 10) logs.Info(formatInt)

Parse類函式

Parse類函式用於轉換字串為給定型別的值:ParseBool()、ParseFloat()、ParseInt()、ParseUint()。
== ParseFloat()只能接收float64型別的浮點數。==

b, err := strconv.ParseBool
("true") f, err := strconv.ParseFloat("3.1415", 64) i, err := strconv.ParseInt("-42", 10, 64) u, err := strconv.ParseUint("42", 10, 64)

Format類函式

將給定型別格式化為string型別:FormatBool()、FormatFloat()、FormatInt()、FormatUint()。

s := strconv.FormatBool(true)
s := strconv.FormatFloat(3.1415, 'E', -1, 64)
s := strconv.FormatInt(-42, 16)
s := strconv.FormatUint(42, 16)