Go에서 문자를 정수로 효율적으로 변환하기 위한 지침: strconv.ParseInt() 함수를 사용하여 변환할 문자열과 기준을 제공합니다. 지정된 형식의 데이터를 읽기 위한 형식 문자열을 지정하려면 fmt.Scanf() 함수를 사용하십시오. 실제 사례: strconv.ParseInt()를 사용하여 파일을 한 줄씩 읽고 정수 값을 추출합니다.
Go에서 문자를 정수로 효율적으로 변환하기 위한 가이드
Go에서는 문자를 정수로 변환하는 것이 일반적인 작업입니다. 이를 수행하는 방법에는 여러 가지가 있지만 효율적이고 구현하기 쉬운 방법을 선택하는 것이 중요합니다.
strconv
strconv
패키지는 문자열을 int64
로 변환하는 데 사용할 수 있는 ParseInt
라는 함수를 제공합니다. 이 함수는 변환할 문자열과 사용할 기본을 허용합니다. 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] }
fmt
패키지는 문자열에서 지정된 형식의 데이터를 읽을 수 있는 Scanf
함수도 제공합니다. 🎜rrreee🎜🎜실용 예🎜🎜🎜단어와 정수 값이 포함된 파일이 있고 정수 값을 슬라이스로 추출하려고 한다고 가정합니다. 🎜rrreee🎜bufio
패키지를 사용할 수 있습니다. 한 줄씩 수행하려면 파일을 읽고 strconv
또는 fmt
를 사용하여 줄의 정수 값을 int
로 변환하세요. 🎜rrreee위 내용은 Golang 문자를 정수로 변환하는 효율적인 방법 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!