Maison > développement back-end > Golang > Discussion approfondie sur les caractéristiques et démonstrations pratiques des types de données du langage Go

Discussion approfondie sur les caractéristiques et démonstrations pratiques des types de données du langage Go

PHPz
Libérer: 2024-01-09 16:54:48
original
490 Les gens l'ont consulté

Discussion approfondie sur les caractéristiques et démonstrations pratiques des types de données du langage Go

Explication détaillée et exemple de démonstration des caractéristiques du type de données du langage Go

1. Introduction

Dans le langage Go, le type de données est l'un des concepts de base du langage de programmation. Comprendre et utiliser habilement différents types de données constitue la base de la programmation. Cet article présentera en détail les caractéristiques des différents types de données dans le langage Go et approfondira la compréhension à travers des exemples pratiques.

2. Types de données de base

  1. Types entiers

Le langage Go fournit une variété de types entiers, notamment int, int8, int16, int32, int64, etc. La longueur du type int peut être différente selon les plates-formes, mais la garantie minimale est de 32 bits. Par exemple, le code suivant montre comment définir et utiliser des types entiers :

package main

import "fmt"

func main() {
    var num1 int = 10
    var num2 int8 = -5

    fmt.Printf("num1的类型:%T,值:%d
", num1, num1)
    fmt.Printf("num2的类型:%T,值:%d
", num2, num2)
}
Copier après la connexion

Le résultat est :

num1的类型:int,值:10
num2的类型:int8,值:-5
Copier après la connexion
  1. Types à virgule flottante

Le langage Go prend en charge deux types à virgule flottante : float32 et float64. Ils occupent respectivement un espace de stockage de 32 bits et 64 bits et sont utilisés pour représenter des décimales. Le code suivant montre comment définir et utiliser des types à virgule flottante :

package main

import "fmt"

func main() {
    var num1 float32 = 3.14
    var num2 float64 = 3.1415926535

    fmt.Printf("num1的类型:%T,值:%f
", num1, num1)
    fmt.Printf("num2的类型:%T,值:%f
", num2, num2)
}
Copier après la connexion

Le résultat de sortie est :

num1的类型:float32,值:3.140000
num2的类型:float64,值:3.141593
Copier après la connexion
  1. Type booléen

Le type booléen du langage Go n'a que deux valeurs : vrai et faux. Il est utilisé pour représenter des valeurs logiques. Le code suivant montre comment définir et utiliser le type booléen :

package main

import "fmt"

func main() {
    var flag1 bool = true
    var flag2 bool = false

    fmt.Printf("flag1的类型:%T,值:%t
", flag1, flag1)
    fmt.Printf("flag2的类型:%T,值:%t
", flag2, flag2)
}
Copier après la connexion

Le résultat est :

flag1的类型:bool,值:true
flag2的类型:bool,值:false
Copier après la connexion
  1. Type de chaîne

Le type de chaîne dans le langage Go est placé entre guillemets doubles, tels que "hello, world". Le type chaîne est en fait une séquence d’octets immuable. Le code suivant montre comment définir et utiliser le type chaîne :

package main

import "fmt"

func main() {
    var str1 string = "hello"
    var str2 string = "world"

    fmt.Printf("str1的类型:%T,值:%s
", str1, str1)
    fmt.Printf("str2的类型:%T,值:%s
", str2, str2)
}
Copier après la connexion

Le résultat de sortie est :

str1的类型:string,值:hello
str2的类型:string,值:world
Copier après la connexion

3. Type de données composite

  1. Type tableau

Les tableaux dans le langage Go sont des objets séquence de longueur fixe du du même type . Le code suivant montre comment définir et utiliser les types de tableaux :

package main

import "fmt"

func main() {
    var arr [3]int = [3]int{1, 2, 3}

    fmt.Printf("arr的类型:%T,值:%v
", arr, arr)
    fmt.Printf("arr的长度:%d
", len(arr))
}
Copier après la connexion

Le résultat de sortie est :

arr的类型:[3]int,值:[1 2 3]
arr的长度:3
Copier après la connexion
  1. Type de tranche

Les tranches dans le langage Go sont une abstraction de tableaux, qui offrent des méthodes d'accès et de fonctionnement plus flexibles. Les types de tranches n'ont pas de longueur fixe et peuvent croître de manière dynamique. Le code suivant montre comment définir et utiliser les types de tranches :

package main

import "fmt"

func main() {
    var slice []int = []int{1, 2, 3}

    fmt.Printf("slice的类型:%T,值:%v
", slice, slice)
    fmt.Printf("slice的长度:%d
", len(slice))
    fmt.Printf("slice的容量:%d
", cap(slice))
}
Copier après la connexion

Le résultat de sortie est :

slice的类型:[]int,值:[1 2 3]
slice的长度:3
slice的容量:3
Copier après la connexion
  1. Type de structure

Les structures dans le langage Go sont des collections de variables de différents types et les types de données peuvent être personnalisés. Un type de structure se compose d'une série de champs, chacun avec son propre type et son propre nom. Le code suivant montre comment définir et utiliser les types de structure :

package main

import "fmt"

type Person struct {
    Name string
    Age  int
}

func main() {
    var p Person = Person{Name: "Alice", Age: 18}

    fmt.Printf("p的类型:%T,值:%v
", p, p)
    fmt.Printf("p的姓名:%s,年龄:%d
", p.Name, p.Age)
}
Copier après la connexion

Le résultat de sortie est :

p的类型:main.Person,值:{Alice 18}
p的姓名:Alice,年龄:18
Copier après la connexion

IV Résumé

Cet article présente en détail les types de données de base et les types de données composites dans le langage Go et démontre leurs caractéristiques. à travers des exemples et des utilisations. La maîtrise de ces types de données sera d’un grand bénéfice pour la programmation en langage Go. J'espère que cet article pourra être utile aux lecteurs.

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