Wie man zwischen `int64` und `string` in Golang konvertiert
Min-jun Kim
Dev Intern · Leapcell

Key Takeaways
- Verwenden Sie
strconv.FormatInt
oderfmt.Sprintf
, umint64
instring
zu konvertieren. - Verwenden Sie
strconv.ParseInt
, umstring
inint64
zu konvertieren und Fehler ordnungsgemäß zu behandeln. strconv
-Funktionen sind effizienter, währendfmt.Sprintf
Formatierungsflexibilität bietet.
Konvertieren zwischen int64
und string
in Golang
In Golang ist das Konvertieren zwischen int64
und string
eine häufige Aufgabe beim Umgang mit Benutzereingaben, Datenspeicherung oder Serialisierung. Dieser Artikel behandelt verschiedene Methoden zum Konvertieren von int64
in string
und umgekehrt.
Konvertieren von int64
in string
Es gibt mehrere Möglichkeiten, einen int64
in Go in einen string
zu konvertieren, abhängig vom Anwendungsfall.
Verwenden von strconv.FormatInt
Das Paket strconv
bietet die Funktion FormatInt
zum Konvertieren eines int64
in einen String mit einer bestimmten Basis.
package main import ( "fmt" "strconv" ) func main() { num := int64(1234567890) str := strconv.FormatInt(num, 10) // Konvertiert int64 in dezimale Zeichenkette fmt.Println(str) // Ausgabe: "1234567890" }
Verwenden von fmt.Sprintf
Ein anderer Ansatz ist die Verwendung von fmt.Sprintf
, das flexibler ist und häufig zum Formatieren von Ausgaben verwendet wird.
package main import ( "fmt" ) func main() { num := int64(1234567890) str := fmt.Sprintf("%d", num) // Formatiert int64 als dezimale Zeichenkette fmt.Println(str) // Ausgabe: "1234567890" }
Die Funktion fmt.Sprintf
ist nützlich, wenn Zahlen mit zusätzlichem Text formatiert werden sollen.
str := fmt.Sprintf("Die Zahl ist %d", num) fmt.Println(str) // Ausgabe: "Die Zahl ist 1234567890"
Konvertieren von string
in int64
Um einen string
zurück in int64
zu konvertieren, verwenden wir hauptsächlich die Funktion strconv.ParseInt
.
Verwenden von strconv.ParseInt
package main import ( "fmt" "strconv" ) func main() { str := "1234567890" num, err := strconv.ParseInt(str, 10, 64) // Parsen als Basis 10 und Speichern als int64 if err != nil { fmt.Println("Fehler:", err) return } fmt.Println(num) // Ausgabe: 1234567890 }
Behandeln von Konvertierungsfehlern
Wenn die Eingabezeichenkette keine gültige Zahl ist, gibt strconv.ParseInt
einen Fehler zurück.
str := "invalid123" num, err := strconv.ParseInt(str, 10, 64) if err != nil { fmt.Println("Konvertierung fehlgeschlagen:", err) } else { fmt.Println(num) }
Welche Methode sollten Sie verwenden?
Methode | Konvertierungsrichtung | Leistung | Anwendungsfall |
---|---|---|---|
strconv.FormatInt | int64 → string | Schnell | Empfohlen für einfache Konvertierungen |
fmt.Sprintf | int64 → string | Etwas langsamer | Nützlich beim Formatieren von Text mit Zahlen |
strconv.ParseInt | string → int64 | Schnell | Am besten zum Parsen von numerischen Zeichenketten |
fmt.Sscanf (nicht behandelt) | string → int64 | Langsamer | Nützlich beim Parsen von formatierten Zeichenketten |
Fazit
In Golang können Sie einfach mit dem Paket strconv
oder fmt.Sprintf
zwischen int64
und string
konvertieren. Für leistungskritische Anwendungen werden strconv.FormatInt
und strconv.ParseInt
bevorzugt. Wenn Sie mehr Flexibilität benötigen, funktioniert fmt.Sprintf
gut.
Durch das Verständnis dieser Konvertierungsmethoden können Sie numerische Daten in Ihren Go-Anwendungen effizient verarbeiten.
FAQs
strconv.FormatInt(num, 10)
ist die effizienteste Methode.
Verwenden Sie strconv.ParseInt
und überprüfen Sie den Rückgabewert für Fehler.
Verwenden Sie fmt.Sprintf
, wenn Sie Zahlen innerhalb einer größeren Textzeichenkette formatieren möchten.
We are Leapcell, your top choice for hosting Go projects.
Leapcell is the Next-Gen Serverless Platform for Web Hosting, Async Tasks, and Redis:
Multi-Language Support
- Develop with Node.js, Python, Go, or Rust.
Deploy unlimited projects for free
- pay only for usage — no requests, no charges.
Unbeatable Cost Efficiency
- Pay-as-you-go with no idle charges.
- Example: $25 supports 6.94M requests at a 60ms average response time.
Streamlined Developer Experience
- Intuitive UI for effortless setup.
- Fully automated CI/CD pipelines and GitOps integration.
- Real-time metrics and logging for actionable insights.
Effortless Scalability and High Performance
- Auto-scaling to handle high concurrency with ease.
- Zero operational overhead — just focus on building.
Explore more in the Documentation!
Follow us on X: @LeapcellHQ