Teilen effizienter Methoden zum Konvertieren von Golang-Zeichen in Ganzzahlen

王林
Freigeben: 2024-04-03 15:36:02
Original
642 Leute haben es durchsucht

Richtlinien für die effiziente Konvertierung von Zeichen in Ganzzahlen in Go: Verwenden Sie die Funktion strconv.ParseInt() und geben Sie die zu konvertierende Zeichenfolge und die Basis an. Verwenden Sie die Funktion fmt.Scanf(), um eine Formatzeichenfolge zum Lesen von Daten im angegebenen Format anzugeben. Praktischer Fall: Verwenden Sie strconv.ParseInt (), um die Datei Zeile für Zeile zu lesen und den ganzzahligen Wert zu extrahieren.

Teilen effizienter Methoden zum Konvertieren von Golang-Zeichen in Ganzzahlen

Anleitung zur effizienten Zeichenkonvertierung in Ganzzahlen in Go

In Go ist die Konvertierung von Zeichen in Ganzzahlen eine häufige Aufgabe. Obwohl es dafür mehrere Möglichkeiten gibt, ist es wichtig, eine zu wählen, die effizient und einfach umzusetzen ist.

strconv

Das strconv-Paket stellt eine Funktion namens ParseInt bereit, die zum Konvertieren einer Zeichenfolge in int64 verwendet werden kann. Diese Funktion akzeptiert die zu konvertierende Zeichenfolge und die zu verwendende Basis. strconv 包提供了一个名为 ParseInt 的函数,可用于将字符串转换为 int64。此函数接受要转换的字符串和要使用的基数。

import (
    "strconv"
)

func main() {
    str := "123"

    // 将字符串转换为 int64
    num, err := strconv.ParseInt(str, 10, 64)
    if err != nil {
        // 处理错误
    }

    fmt.Println(num) // 输出:123
}
Nach dem Login kopieren

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
}
Nach dem Login kopieren

实战案例

假设我们有一个包含单词和整数值的文件,并且我们希望将整数值提取到 slice 中:

apple 1
banana 2
cherry 3
Nach dem Login kopieren

我们可以使用 bufio 包来逐行读取文件,然后使用 strconvfmt 将行中整数值转换为 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]
}
Nach dem Login kopieren
🎜fmt🎜🎜🎜 Das Paket fmt stellt auch die Funktion Scanf bereit, mit der Daten in einem angegebenen Format aus einer Zeichenfolge gelesen werden können. 🎜rrreee🎜🎜Praktisches Beispiel🎜🎜🎜Angenommen, wir haben eine Datei mit Wörtern und ganzzahligen Werten und möchten die ganzzahligen Werte in ein Slice extrahieren: 🎜rrreee🎜Wir können das Paket bufio verwenden Um es Zeile für Zeile zu tun, lesen Sie die Datei und konvertieren Sie die Ganzzahlwerte in der Zeile mit strconv oder fmt in int: 🎜rrreee

Das obige ist der detaillierte Inhalt vonTeilen effizienter Methoden zum Konvertieren von Golang-Zeichen in Ganzzahlen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!