在Golang中,字符串和數(shù)字之間的相互轉(zhuǎn)換是非常常見(jiàn)的操作。本文將詳細(xì)介紹Golang中字符串和數(shù)字的相互轉(zhuǎn)換方法,并提供具體的代碼示例。
一、將字符串轉(zhuǎn)換為數(shù)字
在Golang中,將字符串轉(zhuǎn)換為數(shù)字有以下幾種方法:
- 使用strconv包的Atoi()函數(shù)
Atoi()函數(shù)可以將字符串轉(zhuǎn)換為int類(lèi)型的數(shù)字。示例代碼如下:
package main import ( "fmt" "strconv" ) func main() { str := "123" num, err := strconv.Atoi(str) if err != nil { fmt.Println("字符串轉(zhuǎn)換為數(shù)字失敗") } else { fmt.Printf("轉(zhuǎn)換后的數(shù)字是%d,類(lèi)型是%T", num, num) } }
登錄后復(fù)制
運(yùn)行結(jié)果:
轉(zhuǎn)換后的數(shù)字是123,類(lèi)型是int
登錄后復(fù)制
- 使用strconv包的ParseInt()函數(shù)
ParseInt()函數(shù)可以將字符串轉(zhuǎn)換為任意進(jìn)制的數(shù)字。示例代碼如下:
package main import ( "fmt" "strconv" ) func main() { str := "101" num, err := strconv.ParseInt(str, 2, 0) if err != nil { fmt.Println("字符串轉(zhuǎn)換為數(shù)字失敗") } else { fmt.Printf("轉(zhuǎn)換后的數(shù)字是%d,類(lèi)型是%T", num, num) } }
登錄后復(fù)制
運(yùn)行結(jié)果:
轉(zhuǎn)換后的數(shù)字是5,類(lèi)型是int64
登錄后復(fù)制
- 使用fmt包的Scanf()函數(shù)
Scanf()函數(shù)可以將輸入的字符串轉(zhuǎn)換為數(shù)字。示例代碼如下:
package main import ( "fmt" ) func main() { var num int fmt.Printf("請(qǐng)輸入一個(gè)數(shù)字:") _, err := fmt.Scanf("%d", &num) if err != nil { fmt.Println("輸入錯(cuò)誤") } else { fmt.Printf("轉(zhuǎn)換后的數(shù)字是%d,類(lèi)型是%T", num, num) } }
登錄后復(fù)制
運(yùn)行結(jié)果:
請(qǐng)輸入一個(gè)數(shù)字:123 轉(zhuǎn)換后的數(shù)字是123,類(lèi)型是int
登錄后復(fù)制
二、將數(shù)字轉(zhuǎn)換為字符串
在Golang中,將數(shù)字轉(zhuǎn)換為字符串有以下幾種方法:
- 使用strconv包的Itoa()函數(shù)
Itoa()函數(shù)可以將int類(lèi)型的數(shù)字轉(zhuǎn)換為字符串。示例代碼如下:
package main import ( "fmt" "strconv" ) func main() { num := 123 str := strconv.Itoa(num) fmt.Printf("轉(zhuǎn)換后的字符串是%s,類(lèi)型是%T", str, str) }
登錄后復(fù)制
運(yùn)行結(jié)果:
轉(zhuǎn)換后的字符串是123,類(lèi)型是string
登錄后復(fù)制登錄后復(fù)制
- 使用fmt包的Sprintf()函數(shù)
Sprintf()函數(shù)可以將任意類(lèi)型的數(shù)據(jù)轉(zhuǎn)換為字符串。示例代碼如下:
package main import ( "fmt" ) func main() { num := 123 str := fmt.Sprintf("%d", num) fmt.Printf("轉(zhuǎn)換后的字符串是%s,類(lèi)型是%T", str, str) }
登錄后復(fù)制
運(yùn)行結(jié)果:
轉(zhuǎn)換后的字符串是123,類(lèi)型是string
登錄后復(fù)制登錄后復(fù)制
- 使用strconv包的FormatInt()函數(shù)
FormatInt()函數(shù)可以將任意進(jìn)制的數(shù)字轉(zhuǎn)換為字符串。示例代碼如下:
package main import ( "fmt" "strconv" ) func main() { num := 5 str := strconv.FormatInt(int64(num), 2) fmt.Printf("轉(zhuǎn)換后的字符串是%s,類(lèi)型是%T", str, str) }
登錄后復(fù)制
運(yùn)行結(jié)果:
轉(zhuǎn)換后的字符串是101,類(lèi)型是string
登錄后復(fù)制
總結(jié):