Go 中將字元高效轉換為整數的指南:使用 strconv.ParseInt() 函數,提供要轉換的字串和基數。使用 fmt.Scanf() 函數,指定格式化字串以讀取指定格式的資料。實戰案例:使用 strconv.ParseInt() 逐行讀取檔案並提取整數值。
Go 中高效字元轉整型的指南
在 Go 中,將字元轉換為整數型是常見任務。雖然有幾種方法可以實現,但選擇一種高效且易於實施的方法非常重要。
strconv
strconv
套件提供了一個名為ParseInt
的函數,可用來將字串轉換為int64
。此函數接受要轉換的字串和要使用的基數。
import ( "strconv" ) func main() { str := "123" // 将字符串转换为 int64 num, err := strconv.ParseInt(str, 10, 64) if err != nil { // 处理错误 } fmt.Println(num) // 输出:123 }
fmt
fmt
套件也提供了Scanf
函數,它可以從字串中讀取指定格式的數據。
import ( "fmt" ) func main() { str := "123" var num int64 _, err := fmt.Scanf(str, "%d", &num) if err != nil { // 处理错误 } fmt.Println(num) // 输出:123 }
實戰案例
假設我們有一個包含單字和整數值的文件,並且我們希望將整數值提取到slice 中:
apple 1 banana 2 cherry 3
我們可以使用bufio
套件來逐行讀取文件,然後使用strconv
或fmt
將行中整數值轉換為int
:
package main import ( "bufio" "fmt" "os" "strconv" ) func main() { f, err := os.Open("values.txt") if err != nil { // 处理错误 } defer f.Close() var values []int scanner := bufio.NewScanner(f) for scanner.Scan() { line := scanner.Text() parts := strings.Split(line, " ") if len(parts) == 2 { num, err := strconv.ParseInt(parts[1], 10, 32) if err != nil { // 处理错误 } values = append(values, int(num)) } } if err := scanner.Err(); err != nil { // 处理错误 } fmt.Println(values) // 输出:[1 2 3] }
以上是Golang字元轉整型的高效方法分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!