Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Grundlegende Typumwandlung | Datentypen
Einführung in Golang
course content

Kursinhalt

Einführung in Golang

Einführung in Golang

1. Erste Schritte
2. Datentypen
3. Kontrollstrukturen
4. Funktionen
5. Arrays und Slices
6. Einführung in Strukturen & Maps

book
Grundlegende Typumwandlung

Typumwandlung ist der Prozess der Umwandlung von Daten von einem Datentyp in einen anderen. Es ist jedoch wichtig zu beachten, dass es nicht immer möglich ist, Daten von einem Datentyp in einen anderen zu konvertieren. Zum Beispiel können wir einen float in einen int und umgekehrt konvertieren. Es wäre jedoch nicht sinnvoll, einen string in einen int zu konvertieren, und daher ist dies nicht möglich.

Es gibt zwei Arten von Typkonvertierungen oder Typumwandlungen. Eine davon ist die Implizite Typumwandlung. Implizite Typumwandlung tritt auf, wenn Go automatisch einen Typ in einen anderen umwandelt, wenn es sicher und eindeutig ist. Zum Beispiel, wenn wir einem Float-Variable einen ganzzahligen Wert zuweisen, wird er automatisch als Float behandelt, da bei der Umwandlung keine Daten verloren gehen können (10 ist dasselbe wie 10.0):

go

index

copy
1
var myFloat float32 = 10 // A valid statement

Die andere Art der Typumwandlung ist das Explizite Typ-Casting, das auftritt, wenn der Programmierer Daten oder Ausdrücke explizit von einem Typ in einen anderen umwandelt. Die Syntax für explizites Typ-Casting ist desiredType(expression), zum Beispiel:

go

index

copy
12345678
package main import "fmt" func main() { var number1 float32 = 7.9 var number2 int = int(number1) fmt.Println(number2) // Outputs 7 }

Im obigen Programm konvertieren wir einen float32-Wert in einen int mittels explizitem Typ-Casting. Dadurch wird der Dezimalteil der ursprünglichen Zahl verworfen, und nur der ganzzahlige Wert 7 wird in number2 gespeichert. Es ist wichtig zu beachten, dass in diesem Fall einige Daten verloren gehen, insbesondere der Dezimalteil der Zahl (0.9). Diese Entscheidung haben wir jedoch bewusst getroffen.

Ähnlich können wir ein rune in einen string umwandeln. Im Kapitel Runen haben wir ein Programm untersucht, das den Wert einer Rune ausgab, der eine Zahl war. Wir können jedoch das Zeichenäquivalent einer Rune anzeigen, indem wir sie in einen String umwandeln:

go

index

copy
123456789
package main import "fmt" func main() { var char rune = 'a' fmt.Println(char) // Outputs 97 fmt.Println(string(char)) // Outputs 'a' }

Wir können jedoch einen string nicht in einen rune umwandeln:

go

index

copy
12
var myString string = "A string value" fmt.Println(rune(myString)) // Error: cannot convert myString (variable of type string) to type rune

Es ist wichtig zu beachten, dass wir auch keinen String, der ein einzelnes Zeichen enthält, in eine Rune umwandeln können:

go

index

copy
1234567
package main import "fmt" func main() { var text string = "a"; fmt.Printf(rune(text)) // Error here }
Welche der folgenden ist die korrekte Syntax für Typumwandlung in Go?

Welche der folgenden ist die korrekte Syntax für Typumwandlung in Go?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 6
We're sorry to hear that something went wrong. What happened?
some-alt