English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Golang

Instructions de contrôle Golang

Fonction & méthode Golang

Structure Golang

Coupe & tableau Golang

Chaîne (String) Golang

Pointeur Golang

Interface Golang

Concurrence Golang

Exception (Error) Golang

Autres détails Golang

Conversion de type Go

Prérequis, vous devriez avoir appris :Types de données Golang

Lorsque nous assignons une valeur d'un type de données à un autre type de données, une conversion de type se produit. Les types de données tels que C / C ++Les langages de type statique tels que Java fournissent un soutien pour la conversion implicite de type, mais Golang est différent, car même si les types de données sont compatibles, ilne prend pas non plus en chargeConversion de type automatique ou implicite. Les raisons sont que le système de type fort de Golang ne permet pas cela. Pour la conversion de type, une conversion explicite doit être effectuée.

Comment Golang effectue-t-il la conversion de type ?
Si vous avez besoin d'utiliser certaines caractéristiques de l'hierarchie des types de données, nous devons convertir l'entité d'un type de données à un autre. La syntaxe générale pour convertir une valeur val en type T est T(val).

var w3codebox1 int = 845
// Conversion de type explicite
var w3codebox2 float64 = float64(w3codebox1)
var w3codebox3 int64 = int64(w3codebox1)
var w3codebox4 uint = uint(w3codebox1)
//Calculer la moyenne
package main
import "fmt"
func main() {
    var totalsum int = 446
    var number int = 23
    var avg float32
    // Conversion de type explicite
    avg = float32(totalsum) / float32(number)
    // Afficher le résultat
    fmt.Printf("Moyenne = %f\n", avg)
}

Sortie :

Moyenne = 19.391304

Remarque :En raison du système de type puissant de Golang, il n'est pas permis de mélanger les types numériques dans les expressions (par exemple, addition, soustraction, multiplication, division, etc.), et il n'est pas permis d'effectuer une attribution de type entre deux types mélangés.

var w3codebox1 int64 = 875
//Il nous lève une erreur à la compilation
//parce que nous exécutons un type mélangé, par exemple int64en tant que type int
var w3codebox2 int = w3codebox1
var w3codebox3 int = 100
//Il lève une erreur à la compilation
//C'est une opération invalide
//parce que le type est mélangé int64 et int se joint
var addition = w3codebox1 + w3codebox3