Golang中int類型和字符串類型相互轉(zhuǎn)換的實(shí)現(xiàn)方法
使用 strconv 包
strconv 包提供的 Itoa 和 Atoi 函數(shù)可以用于 int 類型和字符串類型之間的相互轉(zhuǎn)換。
1. int 轉(zhuǎn)字符串
package main import ( "fmt" "strconv" ) func main() { num := 123 str := strconv.Itoa(num) fmt.Println(str) // 輸出:"123" }
使用 Itoa 函數(shù)將 int 類型轉(zhuǎn)換為字符串類型,Itoa 函數(shù)的使用方法非常簡單,只需將要轉(zhuǎn)換的 int 值傳入該函數(shù),返回轉(zhuǎn)換后的字符串。
2. 字符串轉(zhuǎn) int
package main import ( "fmt" "strconv" ) func main() { str := "456" num, err := strconv.Atoi(str) if err != nil { fmt.Println("轉(zhuǎn)換失?。?, err) } else { fmt.Println(num) // 輸出:456 } }
使用 Atoi 函數(shù)將字符串類型轉(zhuǎn)換為 int 類型,只需要將字符串傳入該函數(shù)即可,返回轉(zhuǎn)換后的 int 值和可能出現(xiàn)的錯誤信息。
使用 fmt 包
fmt 包也提供了一些函數(shù)可以完成 int 類型和字符串類型之間的轉(zhuǎn)換。
1. int 轉(zhuǎn)字符串
package main import ( "fmt" ) func main() { num := 123 str := fmt.Sprintf("%d", num) fmt.Println(str) // 輸出:"123" }
使用 fmt 包中的 Sprintf 函數(shù)可以返回格式化后的字符串,傳入一個占位符"%d"和要轉(zhuǎn)換的 int 值給該函數(shù)即可。
2. 字符串轉(zhuǎn) int
package main import ( "fmt" ) func main() { str := "456" var num int _, err := fmt.Sscanf(str, "%d", &num) if err != nil { fmt.Println("轉(zhuǎn)換失敗:", err) } else { fmt.Println(num) // 輸出:456 } }
使用 fmt包中的 Sscanf 函數(shù)可以根據(jù)指定的格式將字符串解析為 int 值。傳入要解析的字符串、占位符"%d"和一個指向 int 變量的指針給該函數(shù)即可,將從字符串中解析出相應(yīng)的 int 值并賦給指定的變量。
使用 github.com/spf13/cast 庫
cast 庫是用于不同類型之間進(jìn)行轉(zhuǎn)換的庫,功能非常強(qiáng)大,自然也包括 int 類型和字符串類型之間的互相轉(zhuǎn)換功能。
1. int 轉(zhuǎn)字符串
package main import ( "fmt" "github.com/spf13/cast" ) func main() { num := 123 str := cast.ToString(num) fmt.Println(str) // 輸出:"123" }
使用 ToString 函數(shù)可以將其他類型轉(zhuǎn)換為字符串類型,只需傳入待轉(zhuǎn)換的值即可。
2. 字符串轉(zhuǎn) int
package main import ( "fmt" "github.com/spf13/cast" ) func main() { str := "456" num := cast.ToInt(str) // 輸出:456 fmt.Println(num) }
使用 ToInt 函數(shù)可以將其他類型轉(zhuǎn)換為 int 類型,只需傳入待轉(zhuǎn)換的值即可。
package main import ( "fmt" "github.com/spf13/cast" ) func main() { str := "路多辛的博客" num := cast.ToInt(str) // // 輸出:0 fmt.Println(num) }
小結(jié)
本文詳細(xì)介紹了 Golang 中實(shí)現(xiàn) int 類型和字符串類型相互轉(zhuǎn)換的幾種方法,希望這些方法能夠讓你在使用 Golang 時更加得心應(yīng)手。
以上就是Golang中int類型和字符串類型相互轉(zhuǎn)換的實(shí)現(xiàn)方法的詳細(xì)內(nèi)容,更多關(guān)于Golang int類型和字符串類型相互轉(zhuǎn)換的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Go中并發(fā)控制的實(shí)現(xiàn)方式總結(jié)
在Go實(shí)際開發(fā)中,并發(fā)安全是老生常談的事情,在并發(fā)下,goroutine之間的存在數(shù)據(jù)資源等方面的競爭,為了保證數(shù)據(jù)一致性、防止死鎖等問題的出現(xiàn),在并發(fā)中需要使用一些方式來實(shí)現(xiàn)并發(fā)控制,本文給大家總結(jié)了幾種實(shí)現(xiàn)方式,需要的朋友可以參考下2023-12-12golang?cache帶索引超時緩存庫實(shí)戰(zhàn)示例
這篇文章主要為大家介紹了golang?cache帶索引超時緩存庫實(shí)戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09go語言LeetCode題解999可以被一步捕獲的棋子數(shù)
這篇文章主要為大家介紹了go語言LeetCode題解999可以被一步捕獲的棋子數(shù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12