Maison > développement back-end > Golang > le corps du texte

Exploration approfondie des types de données et de l'initialisation des variables dans Golang

WBOY
Libérer: 2023-12-23 09:46:11
original
822 Les gens l'ont consulté

Exploration approfondie des types de données et de linitialisation des variables dans Golang

Exploration approfondie des types de données et de l'initialisation des variables dans Golang

Dans le langage Go, l'initialisation des types de données et des variables est un problème auquel nous devons souvent faire face. Les types de données corrects et l'initialisation des variables garantissent la robustesse et l'exactitude de votre programme. Dans cet article, nous approfondirons la connaissance des types de données et de l'initialisation des variables dans Golang et donnerons des exemples de code spécifiques.

  1. Initialisation des types de données de base

Les types de données de base dans Golang incluent bool, int, float, string, etc. L'initialisation de ces types de données est très simple et peut être initialisée directement à l'aide d'opérations d'affectation. Voici quelques exemples :

var b bool  // 声明一个bool类型变量b,未初始化,默认值为false

var i int   // 声明一个int类型变量i,未初始化,默认值为0
j := 10     // 声明并初始化一个int类型变量j,值为10

var f float32     // 声明一个float32类型变量f,未初始化,默认值为0
g := 3.14        // 声明并初始化一个float64类型变量g,值为3.14

var s string     // 声明一个string类型变量s,未初始化,默认值为空字符串
t := "Hello Go"  // 声明并初始化一个string类型变量t,值为"Hello Go"
Copier après la connexion
  1. Initialisation des tableaux et des tranches

Les tableaux et les tranches sont des structures de données utilisées dans Golang pour stocker plusieurs éléments du même type. Ils sont initialisés légèrement différemment.

Les tableaux peuvent être initialisés à l'aide de littéraux ou de boucles de tableau. Voici quelques exemples :

var a [3]int               // 声明一个长度为3的int类型数组a,未初始化,默认值为[0,0,0]
b := [4]string{"one", "two", "three", "four"}  // 声明并初始化一个长度为4的string类型数组b
c := [...]int{1, 2, 3, 4, 5}                   // 声明并初始化一个长度根据初始化元素个数自动确定的int类型数组c

for i := 0; i < len(a); i++ {
    a[i] = i + 1  // 使用循环给数组a赋值
}
Copier après la connexion

L'initialisation des tranches peut être effectuée à l'aide de littéraux de tranche, ou vous pouvez utiliser la fonction make pour créer des tranches. Voici quelques exemples :

d := []int{1, 2, 3, 4, 5}                      // 声明一个int类型切片d,并赋予初始值
e := make([]string, 3)                        // 声明一个长度为3的string类型切片e,未初始化,默认值为["","",""]
f := make([]float64, 5, 10)                    // 声明一个长度为5,容量为10的float64类型切片f,未初始化,默认值为[0,0,0,0,0]
Copier après la connexion
  1. Initialisation de la structure

La structure est un type complexe personnalisé dans Golang qui peut contenir plusieurs champs de types différents. La structure peut être initialisée à l'aide d'un littéral de structure ou à l'aide de la nouvelle fonction pour créer un pointeur de structure. Voici quelques exemples :

type person struct {
    name string
    age  int
}

var p1 person                                 // 声明一个person类型变量p1,未初始化,默认值为{name:"", age:0}
p1.name = "Alice"                             // 给结构体字段赋值
p1.age = 25
p2 := person{"Bob", 30}                       // 声明并初始化一个person类型变量p2
p3 := person{
    name: "Charlie",
    age:  35,
}

p4 := new(person)                             // 声明一个person类型变量p4,并分配内存,返回的是指向新分配内存的指针
p4.name = "Dave"
p4.age = 40
Copier après la connexion
  1. Initialisation des types de collection

En plus des types de données de base, des tableaux, des tranches et des structures, il existe d'autres types de collection dans Golang, tels que la carte et le canal. Ils disposent également de leurs propres méthodes d'initialisation.

L'initialisation de la carte utilise la fonction make pour créer une carte vide et attribuer des valeurs à l'aide de paires clé-valeur. Voici un exemple :

m := make(map[string]int)       // 声明一个string到int的映射类型变量m,并分配内存
m["apple"] = 1                  // 给映射类型变量m赋值
m["banana"] = 2
m["cherry"] = 3
Copier après la connexion

L'initialisation du canal utilise la fonction make pour créer un canal sans tampon ou avec tampon. Voici deux exemples :

ch1 := make(chan int)           // 声明一个无缓冲的int类型channel变量ch1
ch2 := make(chan string, 10)    // 声明一个容量为10的string类型channel变量ch2,具有缓冲功能
Copier après la connexion

Grâce aux exemples ci-dessus, nous comprenons les méthodes d'initialisation des types de données et des variables dans Golang, y compris l'initialisation des types de données de base, des tableaux, des tranches, des structures, des cartes et des canaux. L'initialisation correcte des types de données et des variables peut grandement améliorer la robustesse et l'exactitude de votre programme. En programmation réelle, nous pouvons choisir une méthode d'initialisation adaptée en fonction de besoins spécifiques pour améliorer la lisibilité et la maintenabilité du code.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!