Konvertieren von Strings und Ganzzahlen
Wir können Funktionen aus dem strconv
-Paket verwenden, um zwischen Strings und Ganzzahlen zu konvertieren:
package main
import (
"fmt"
"strconv"
)
func main() {
// Declare a string a and an integer b
a, b := "233", 223
// Use Atoi to convert a string to an integer
c, _ := strconv.Atoi(a)
// Use Sprintf and Itoa functions respectively
// to convert an integer to a string
d1 := fmt.Sprintf("%d", b)
d2 := strconv.Itoa(b)
fmt.Printf("The type of a: %T\n", a) // string
fmt.Printf("The type of b: %T\n", b) // int
fmt.Printf("The type of c: %T\n", c) // int
fmt.Printf("The type of d1: %T\n", d1) // string
fmt.Printf("The type of d2: %T\n", d2) // string
}
go run string.go
Die erwartete Ausgabe ist wie folgt:
The type of a: string
The type of b: int
The type of c: int
The type of d1: string
The type of d2: string
In diesem Programm verwenden wir die Sprintf()
-Funktion aus dem fmt
-Paket, die folgendes Format hat:
func Sprintf(format string, a...interface{}) string
format
ist ein String mit Escapesequenzen, a
ist eine Konstante oder Variable, die Werte für die Escapesequenzen bereitstellt, und ...
bedeutet, dass es mehrere Variablen des gleichen Typs wie a
geben kann. Der String hinter der Funktion gibt an, dass Sprintf
einen String zurückgibt. Hier ist ein Beispiel für die Verwendung dieser Funktion:
a = fmt.Sprintf("%d+%d=%d", 1, 2, 3)
fmt.Println(a) // 1+2=3
In diesem Codeausschnitt werden der format
-Funktion drei Ganzzahlvariablen 1, 2 und 3 übergeben. Das Ganzzahl-Escapeteichen %d
in format
wird durch die Ganzzahlwerte ersetzt, und die Sprintf
-Funktion gibt das Ergebnis nach der Ersetzung, 1+2=3
, zurück.
Beachten Sie auch, dass die strconv.Atoi()
-Funktion beim Konvertieren eines Strings in eine Ganzzahl zwei Werte zurückgibt: die konvertierte Ganzzahl val
und den Fehlercode err
. Da in Go jede deklarierte Variable verwendet werden muss, können wir einen Unterstrich _
verwenden, um die err
-Variable zu ignorieren.
Wenn strconv.Atoi()
korrekt konvertiert, gibt err
nil
zurück. Tritt während der Konvertierung ein Fehler auf, gibt err
die Fehlermeldung zurück, und der Wert von val
wird 0 sein. Sie können den Wert des Strings a
ändern und den Unterstrich durch eine normale Variable ersetzen, um es selbst auszuprobieren. Dies ist eine gute Übung für die Fehlerbehandlung, die ein wichtiger Bestandteil der Go-Programmierung ist.