Maison  >  Article  >  développement back-end  >  Quels sont les types de golang ?

Quels sont les types de golang ?

王林
王林original
2023-05-10 10:56:071096parcourir

Go est un langage de programmation typé statiquement qui prend en charge divers types, notamment les types de base, les structures, les tableaux et les tranches, les cartes, les interfaces et les fonctions couramment utilisés. Voici quelques types de langage Go couramment utilisés :

  1. Types de base

Le langage Go prend en charge les types de base standard, tels que booléen, entier, virgule flottante, chaîne et caractère.

  • Type booléen : type booléen, uniquement les valeurs booléennes vraies et fausses.
  • Types d'entiers : int, int8, int16, int32, int64, uint, uint8, uint16, uint32 et uint64, représentant respectivement des entiers signés et des entiers non signés, avec des tailles de 8, 16, 32 et 64 bits respectivement.
  • Types à virgule flottante : float32 et float64, représentant respectivement des nombres à virgule flottante 32 bits et 64 bits.
  • Type de caractère : type rune, qui est un encodage de caractères Unicode.
  1. Structure

La structure en langage Go est un type composite défini par l'utilisateur qui peut contenir plusieurs champs de types différents. Les structures peuvent être utilisées pour représenter certains types de données complexes. Les champs d'une structure peuvent être de n'importe quel type, y compris d'autres types de structure.

Par exemple :

type Person struct {
    Name   string
    Age    int
    Height float32
}
  1. Tableaux et tranches

Les tableaux sont également un type de base dans le langage Go. Les tableaux ont une taille fixe et la longueur du tableau doit être spécifiée lors de la définition. Une tranche est une référence à un tableau, un espace alloué dynamiquement, et peut être augmentée ou diminuée à tout moment. Vous pouvez utiliser la fonction intégrée len() pour obtenir la longueur d'une tranche.

Exemple :

var array [3]int // 定义一个长度为3的数组
slice := []int{1, 2, 3, 4, 5} // 定义一个切片
  1. Map

Une carte est une structure de données de paires clé-valeur, similaire à un dictionnaire ou une table de hachage dans d'autres langues. Dans le langage Go, la cartographie est représentée à l'aide du type de carte intégré. Vous pouvez utiliser la fonction make() pour créer une carte, puis utiliser l'opérateur [] pour accéder aux éléments de la carte.

Par exemple :

scores := make(map[string]int) // 创建一个名为scores的映射
scores["Alice"] = 85 // 添加一个键值对
  1. Interface

Interface est un type de données abstrait qui peut définir un ensemble de méthodes sans implémenter de code spécifique. Dans un type qui implémente une interface, toutes les méthodes définies dans l'interface doivent être implémentées. Les interfaces peuvent rendre le code plus flexible, extensible et maintenable.

Par exemple :

type Shape interface {
    Area() float64
    Perimeter() float64
}

type Rectangle struct {
    Width  float64
    Height float64
}

func (r Rectangle) Area() float64 {
    return r.Width * r.Height
}

func (r Rectangle) Perimeter() float64 {
    return 2 * (r.Width + r.Height)
}
  1. Types de fonctions

Les fonctions sont des citoyens de premier ordre en langage Go, elles peuvent être transmises, attribuées et restituées comme les autres types. Dans le langage Go, une fonction est également un type, et les types de fonctions peuvent être définis comme paramètres ou valeurs de retour.

Par exemple :

type Operation func(int, int) int

func Add(a, b int) int {
    return a + b
}

func Sub(a, b int) int {
    return a - b
}

func calc(op Operation, a, b int) int {
    return op(a, b)
}

sum := calc(Add, 10, 20) // 调用calc函数,传入Add函数作为参数
diff := calc(Sub, 30, 15) // 调用calc函数,传入Sub函数作为参数

Voici quelques types de langage Go couramment utilisés. Le langage Go prend également en charge d'autres types, tels que les canaux, les pointeurs, etc. La maîtrise de ces types est très importante pour écrire du code Go lisible et de haute qualité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn