Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Conversion de Types de Base | Types de Données
Introduction à Golang

bookConversion de Types de Base

Le transtypage est le processus de conversion de données d'un type à un autre. Cependant, il est important de noter qu'il n'est pas toujours possible de convertir des données d'un type à un autre. Par exemple, il est possible de convertir un float en int et inversement. Cependant, il n'aurait pas de sens de convertir une string en int, et cela n'est donc pas possible.

Il existe deux types de conversions de type ou de transtypage. L'un d'eux est le transtypage implicite. Le transtypage implicite se produit lorsque Go convertit automatiquement un type en un autre lorsqu'il est sûr et sans ambiguïté. Par exemple, lorsque nous assignons une valeur entière à une variable de type float, elle est automatiquement traitée comme un float, car aucune donnée ne peut être perdue lors de la conversion (10 est équivalent à 10.0) :

index.go

index.go

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

L'autre type de conversion de type est la conversion de type explicite, qui se produit lorsque le programmeur convertit explicitement des données ou des expressions d'un type à un autre. La syntaxe pour la conversion de type explicite est desiredType(expression), par exemple :

index.go

index.go

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

Dans le programme ci-dessus, nous convertissons une valeur float32 en int à l'aide d'une conversion de type explicite. En conséquence, la partie décimale du nombre d'origine est supprimée et seule la valeur entière 7 est stockée dans number2. Il est important de noter que, dans ce cas, certaines données sont perdues, en particulier la partie décimale du nombre (0.9). Cependant, ce choix a été fait explicitement.

De même, nous pouvons convertir un rune en string. Dans le chapitre Runes, nous avons exploré un programme qui affichait la valeur d'un Rune, qui était un nombre. Cependant, nous pouvons afficher l'équivalent caractère d'un Rune en le convertissant en chaîne de caractères :

index.go

index.go

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

Cependant, il n'est pas possible de convertir une string en rune :

index.go

index.go

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

Il est important de noter que nous ne pouvons pas non plus convertir une chaîne contenant un seul caractère en rune :

index.go

index.go

copy
1234567
package main import "fmt" func main() { var text string = "a"; fmt.Printf(rune(text)) // Error here }
question mark

Laquelle des syntaxes suivantes est correcte pour le transtypage en Go ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 6

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 1.96

bookConversion de Types de Base

Glissez pour afficher le menu

Le transtypage est le processus de conversion de données d'un type à un autre. Cependant, il est important de noter qu'il n'est pas toujours possible de convertir des données d'un type à un autre. Par exemple, il est possible de convertir un float en int et inversement. Cependant, il n'aurait pas de sens de convertir une string en int, et cela n'est donc pas possible.

Il existe deux types de conversions de type ou de transtypage. L'un d'eux est le transtypage implicite. Le transtypage implicite se produit lorsque Go convertit automatiquement un type en un autre lorsqu'il est sûr et sans ambiguïté. Par exemple, lorsque nous assignons une valeur entière à une variable de type float, elle est automatiquement traitée comme un float, car aucune donnée ne peut être perdue lors de la conversion (10 est équivalent à 10.0) :

index.go

index.go

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

L'autre type de conversion de type est la conversion de type explicite, qui se produit lorsque le programmeur convertit explicitement des données ou des expressions d'un type à un autre. La syntaxe pour la conversion de type explicite est desiredType(expression), par exemple :

index.go

index.go

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

Dans le programme ci-dessus, nous convertissons une valeur float32 en int à l'aide d'une conversion de type explicite. En conséquence, la partie décimale du nombre d'origine est supprimée et seule la valeur entière 7 est stockée dans number2. Il est important de noter que, dans ce cas, certaines données sont perdues, en particulier la partie décimale du nombre (0.9). Cependant, ce choix a été fait explicitement.

De même, nous pouvons convertir un rune en string. Dans le chapitre Runes, nous avons exploré un programme qui affichait la valeur d'un Rune, qui était un nombre. Cependant, nous pouvons afficher l'équivalent caractère d'un Rune en le convertissant en chaîne de caractères :

index.go

index.go

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

Cependant, il n'est pas possible de convertir une string en rune :

index.go

index.go

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

Il est important de noter que nous ne pouvons pas non plus convertir une chaîne contenant un seul caractère en rune :

index.go

index.go

copy
1234567
package main import "fmt" func main() { var text string = "a"; fmt.Printf(rune(text)) // Error here }
question mark

Laquelle des syntaxes suivantes est correcte pour le transtypage en Go ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 6
some-alt