So konvertieren Sie Daten in Golang
Als effiziente und prägnante Programmiersprache ist Golang auch bei der Datenkonvertierung sehr flexibel. In diesem Artikel werden einige Methoden zur Datentypkonvertierung in Golang sowie einige Überlegungen zu praktischen Anwendungen erläutert.
1. Grundlegende Datentypkonvertierung
- String-Typ in Int-Typ konvertieren
Zeichenkonvertierung kann Atoi verwendet werden Funktion, die vom Paket strconv bereitgestellt wird. Wenn die Konvertierung fehlschlägt, wird 0 zurückgegeben.
Beispielcode:
package main import ( "fmt" "strconv" ) func main() { str := "123" num, err := strconv.Atoi(str) if err != nil { fmt.Println("转换失败") } else { fmt.Println("转换结果为:", num) } }
- Int-Typkonvertierung in String-Typ
Um Zahlen in Zeichen umzuwandeln, können Sie Verwenden Sie die bereitgestellte Strconv-Paket-Itoa-Funktion.
Beispielcode:
package main import ( "fmt" "strconv" ) func main() { num := 123 str := strconv.Itoa(num) fmt.Println("转换结果为:", str) }
- String-Typ konvertiert in []Byte-Typ
Zeichen in Byte-Slice, Du kann []byte() zum Umwandeln verwenden.
Beispielcode:
package main import ( "fmt" ) func main() { str := "hello world" b := []byte(str) fmt.Println("转换结果为:", b) }
- []Byte-Typ in String-Typ umgewandelt
Byte-Slice in Zeichen, Du kann string() zum Umwandeln verwenden.
Beispielcode:
package main import ( "fmt" ) func main() { b := []byte{104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100} str := string(b) fmt.Println("转换结果为:", str) }
- int64-Typkonvertierung in int-Typ
Wenn der Wert von int64 im ist int-Darstellungsbereich Innerhalb können Sie int() zum Umwandeln verwenden. Wenn es den Bereich überschreitet, ist eine Typzusicherung erforderlich.
Beispielcode:
package main import ( "fmt" ) func main() { var i64 int64 = 1234567890 var i int if i64 > int64(i) { fmt.Println("超过int类型取值范围") } else { i = int(i64) fmt.Println("转换结果为:", i) } }
Hinweis: Achten Sie bei der Typkonvertierung unbedingt auf die Übereinstimmung des Datentypbereichs, da es sonst zu Datenkürzungen oder -überläufen kommen kann.
2. Benutzerdefinierte Datentypkonvertierung
Für benutzerdefinierte Datentypen können wir eine String-Konvertierung implementieren, indem wir die String-Methode des Typs überladen. Gleichzeitig können wir auch die JSON-Formatkonvertierung implementieren, indem wir die Methoden MarshalJSON und UnmarshalJSON des Typs überladen.
Beispielcode:
package main import ( "encoding/json" "fmt" ) type Person struct { Name string `json:"name"` Age int `json:"age"` } func (p Person) String() string { return fmt.Sprintf("Name=%s, Age=%d", p.Name, p.Age) } func (p *Person) UnmarshalJSON(b []byte) error { type tmp Person t := &tmp{} err := json.Unmarshal(b, t) if err != nil { return err } p.Name = t.Name p.Age = t.Age return nil } func (p Person) MarshalJSON() ([]byte, error) { type tmp Person t := tmp(p) return json.Marshal(t) } func main() { p1 := &Person{"Tom", 18} // 转换为字符串 str := p1.String() fmt.Println("转换结果为:", str) // 转换为JSON格式 json1, _ := json.Marshal(p1) fmt.Println("转换结果为:", string(json1)) // 从JSON格式转换回来 str2 := `{"name":"Jerry","age":20}` var p2 Person json.Unmarshal([]byte(str2), &p2) fmt.Println("转换结果为:", p2) }
Anhand des obigen Codes können wir erkennen, dass wir für die Konvertierung benutzerdefinierter Typen die Konvertierungsfunktion manuell implementieren müssen, damit sie normal verwendet werden kann.
3. Zusammenfassung
Dieser Artikel fasst die Konvertierungsmethoden für grundlegende Datentypen und benutzerdefinierte Datentypen in Golang zusammen und stellt auch einige Vorsichtsmaßnahmen vor. In praktischen Anwendungen müssen wir je nach Bedarf flexibel verschiedene Konvertierungsmethoden auswählen, um Daten besser verarbeiten zu können.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie Daten in Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

OpenSSL bietet als Open -Source -Bibliothek, die in der sicheren Kommunikation weit verbreitet sind, Verschlüsselungsalgorithmen, Tasten und Zertifikatverwaltungsfunktionen. In seiner historischen Version sind jedoch einige Sicherheitslücken bekannt, von denen einige äußerst schädlich sind. Dieser Artikel konzentriert sich auf gemeinsame Schwachstellen und Antwortmaßnahmen für OpenSSL in Debian -Systemen. DebianopensL Bekannte Schwachstellen: OpenSSL hat mehrere schwerwiegende Schwachstellen erlebt, wie z. Ein Angreifer kann diese Sicherheitsanfälligkeit für nicht autorisierte Lesen sensibler Informationen auf dem Server verwenden, einschließlich Verschlüsselungsschlüssel usw.

Das Problem der Warteschlange Threading In Go Crawler Colly untersucht das Problem der Verwendung der Colly Crawler Library in Go -Sprache. Entwickler stoßen häufig auf Probleme mit Threads und Anfordern von Warteschlangen. � ...

In der Bibliothek, die für den Betrieb der Schwimmpunktnummer in der GO-Sprache verwendet wird, wird die Genauigkeit sichergestellt, wie die Genauigkeit ...

Backend Learning Path: Die Erkundungsreise von Front-End zu Back-End als Back-End-Anfänger, der sich von der Front-End-Entwicklung verwandelt, Sie haben bereits die Grundlage von Nodejs, ...

In diesem Artikel werden eine Vielzahl von Methoden und Tools eingeführt, um PostgreSQL -Datenbanken im Debian -System zu überwachen, um die Datenbankleistung vollständig zu erfassen. 1. verwenden Sie PostgreSQL, um die Überwachungsansicht zu erstellen. PostgreSQL selbst bietet mehrere Ansichten für die Überwachung von Datenbankaktivitäten: PG_STAT_ACTIVITY: Zeigt Datenbankaktivitäten in Echtzeit an, einschließlich Verbindungen, Abfragen, Transaktionen und anderen Informationen. PG_STAT_REPLIKATION: Monitore Replikationsstatus, insbesondere für Stream -Replikationscluster. PG_STAT_DATABASE: Bietet Datenbankstatistiken wie Datenbankgröße, Transaktionsausschüsse/Rollback -Zeiten und andere Schlüsselindikatoren. 2. Verwenden Sie das Log -Analyse -Tool PGBADG

Der Unterschied zwischen Stringdruck in GO -Sprache: Der Unterschied in der Wirkung der Verwendung von Println und String () ist in Go ...

Wie kann man im Beegoorm -Framework die mit dem Modell zugeordnete Datenbank angeben? In vielen BeEGO -Projekten müssen mehrere Datenbanken gleichzeitig betrieben werden. Bei Verwendung von BeEGO ...

Das Problem der Verwendung von RETISTREAM zur Implementierung von Nachrichtenwarteschlangen in der GO -Sprache besteht darin, die Go -Sprache und Redis zu verwenden ...
