一、簡介
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-tw/n/279432.html
微信掃一掃
支付寶掃一掃