golang ist eine hervorragende Programmiersprache. Aufgrund seiner leistungsstarken Funktionen und seiner prägnanten Syntax wird es von immer mehr Entwicklern bevorzugt. In Golang ist die Basiskonvertierung eine sehr einfache und häufig verwendete Operation. Lassen Sie uns etwas über die Basiskonvertierung in Golang lernen.
In Golang sind die am häufigsten verwendeten Basen binär, oktal, dezimal und hexadezimal. Werfen wir einen Blick darauf, wie man zwischen diesen verschiedenen Basen umrechnet.
1. Dezimalzahl in andere Basen umwandeln
In Golang können Sie die Funktion FormatInt im fmt-Paket verwenden, um eine Dezimalzahl in eine Zeichenfolge in der angegebenen Basis umzuwandeln. Der Prototyp dieser Funktion lautet wie folgt:
func FormatInt(i int64, base int) string
wobei i die Dezimalzahl darstellt, die konvertiert werden muss, und Basis die Zielbasis ist, die 2, 8, 10 oder 16 sein kann. Um beispielsweise die Dezimalzahl 18 in eine Binärzahl umzuwandeln, lautet der Code wie folgt:
package main import ( "fmt" "strconv" ) func main() { n := int64(18) b := strconv.FormatInt(n, 2) fmt.Printf("2进制:%s ", b) }
Das laufende Ergebnis lautet:
2进制:10010
Verwenden Sie im obigen Code die FormatInt-Funktion von strconv, um die Dezimalzahl 18 in eine Binärzeichenfolge umzuwandeln und drucken Sie es aus.
Ähnlich können wir Dezimalzahlen in andere Basen umwandeln, indem wir den Basisparameter ändern. Um beispielsweise die Dezimalzahl 18 in eine Oktal- oder Hexadezimalzahl umzuwandeln, lautet der Code wie folgt:
package main import ( "fmt" "strconv" ) func main() { n := int64(18) o := strconv.FormatInt(n, 8) h := strconv.FormatInt(n, 16) fmt.Printf("8进制:%s ", o) fmt.Printf("16进制:%s ", h) }
Das laufende Ergebnis lautet:
8进制:22 16进制:12
2. Konvertieren Sie andere Basen in eine Dezimalzahl
In Golang können Sie die ParseInt-Funktion verwenden Das zu konvertierende strconv-Paket konvertiert eine Zeichenfolgendarstellung einer Zahl in eine Dezimalzahl. Der Prototyp dieser Funktion lautet wie folgt:
func ParseInt(s string, base int, bitSize int) (i int64, err error)
Unter diesen repräsentiert s die zu konvertierende Zeichenfolge, base repräsentiert die Basis von s, die 0, 2, 8, 10 oder 16 sein kann, und bitSize repräsentiert die Anzahl der Ziffern in das Ergebnis, das 0 oder 8, 16, 32 oder 64 sein kann. Um beispielsweise die Binärzahl 10010 in eine Dezimalzahl umzuwandeln, lautet der Code wie folgt:
package main import ( "fmt" "strconv" ) func main() { b := "10010" n, _ := strconv.ParseInt(b, 2, 64) fmt.Printf("10进制:%d ", n) }
Das laufende Ergebnis lautet:
10进制:18
Verwenden Sie im obigen Code die ParseInt-Funktion von strconv, um die Binärzeichenfolge in eine Dezimalzahl umzuwandeln Drucken Sie es aus.
Ähnlich können wir Zeichenfolgen mit anderen Basen in Dezimalzahlen umwandeln, indem wir einfach den Basisparameter ändern. Um beispielsweise die Oktalzeichenfolge „22“ oder die Hexadezimalzeichenfolge „12“ in eine Dezimalzahl umzuwandeln, lautet der Code wie folgt:
package main import ( "fmt" "strconv" ) func main() { o := "22" h := "12" on, _ := strconv.ParseInt(o, 8, 64) hn, _ := strconv.ParseInt(h, 16, 64) fmt.Printf("8进制:%d ", on) fmt.Printf("16进制:%d ", hn) }
Das laufende Ergebnis lautet:
8进制:18 16进制:18
Wie aus dem obigen Code ersichtlich ist, dezimal Die Konvertierung in Golang ist sehr einfach. Kenntnisse in der Basiskonvertierung sind für die Golang-Entwicklungsarbeit unerlässlich.
Das obige ist der detaillierte Inhalt vonGolang-Basiskonvertierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!