一、簡介
Go語言中的strconv包提供了基本數據類型之間相互轉換的函數。
其中,strconv.Itoa和strconv.Atoi用於將字符串和整型互相轉換,strconv.ParseFloat、strconv.ParseInt和strconv.ParseUint則可以將字符串轉換為浮點數、有符號整型和無符號整型。
二、strconv.Itoa和strconv.Atoi函數
strconv.Itoa函數將整型轉換為字符串,示例代碼如下:
package main import ( "fmt" "strconv" ) func main() { i := 666 s := strconv.Itoa(i) fmt.Printf("i 的類型是 %T,值是 %v\n", s, s) }
運行結果如下:
i 的類型是 string,值是 666
註:Itoa是格式化輸出Println的逆操作,如果你要將數據寫入到字符串里,可以使用fmt.Sprintf。但是性能可能會略遜於strconv.Itoa。
而strconv.Atoi函數將字符串轉換為整型,示例代碼如下:
package main import ( "fmt" "strconv" ) func main() { s := "666" if i, err := strconv.Atoi(s); err == nil { fmt.Printf("s 的類型是 %T,值是 %v\n", i, i) } else { fmt.Println(err) } }
運行結果如下:
s 的類型是 int,值是 666
三、strconv.ParseFloat、strconv.ParseInt和strconv.ParseUint函數
這三個函數用於將字符串轉換為浮點數、有符號整型和無符號整型。示例代碼如下:
package main import ( "fmt" "strconv" ) func main() { f, err := strconv.ParseFloat("3.1415", 64) if err != nil { fmt.Println(err) } else { fmt.Printf("f 的類型是 %T,值是 %v\n", f, f) } i, err := strconv.ParseInt("-42", 10, 64) if err != nil { fmt.Println(err) } else { fmt.Printf("i 的類型是 %T,值是 %v\n", i, i) } u, err := strconv.ParseUint("42", 10, 64) if err != nil { fmt.Println(err) } else { fmt.Printf("u 的類型是 %T,值是 %v\n", u, u) } }
運行結果如下:
f 的類型是 float64,值是 3.1415 i 的類型是 int64,值是 -42 u 的類型是 uint64,值是 42
四、結語
在日常開發中,經常需要進行不同類型之間的轉換,因此了解strconv包提供的函數將會非常有用。
在使用這些函數的時候,需要根據具體情況選擇轉換函數,並注意異常處理。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/279432.html