Directives pour une conversion efficace de caractères en entiers dans Go : utilisez la fonction strconv.ParseInt(), fournissant la chaîne à convertir et la base. Utilisez la fonction fmt.Scanf() pour spécifier une chaîne de format afin de lire les données au format spécifié. Cas pratique : Utilisez strconv.ParseInt() pour lire le fichier ligne par ligne et extraire la valeur entière.
Guide pour une conversion efficace de caractères en entier dans Go
Dans Go, la conversion de caractères en entier est une tâche courante. Bien qu’il existe plusieurs façons de procéder, il est important d’en choisir une qui soit efficace et facile à mettre en œuvre.
strconv
Le package strconv
fournit une fonction appelée ParseInt
qui peut être utilisée pour convertir une chaîne en int64
. Cette fonction accepte la chaîne à convertir et la base à utiliser. 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
fournit également la fonction Scanf
, qui peut lire des données dans un format spécifié à partir d'une chaîne. 🎜rrreee🎜🎜Exemple pratique🎜🎜🎜Supposons que nous ayons un fichier contenant des mots et des valeurs entières, et que nous souhaitions extraire les valeurs entières dans une tranche : 🎜rrreee🎜Nous pouvons utiliser le package bufio
pour le faire ligne par ligne Lisez le fichier et convertissez les valeurs entières de la ligne en int
en utilisant strconv
ou fmt
: 🎜rrreeeCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!