Heim > Backend-Entwicklung > Golang > Golang-Basiskonvertierung

Golang-Basiskonvertierung

王林
Freigeben: 2023-05-16 13:13:08
Original
1205 Leute haben es durchsucht

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

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

Das laufende Ergebnis lautet:

2进制:10010
Nach dem Login kopieren

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

Das laufende Ergebnis lautet:

8进制:22
16进制:12
Nach dem Login kopieren

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

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

Das laufende Ergebnis lautet:

10进制:18
Nach dem Login kopieren

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

Das laufende Ergebnis lautet:

8进制:18
16进制:18
Nach dem Login kopieren

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!

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