Maison >développement back-end >Golang >La différence entre 'var' et ':=' en golang

La différence entre 'var' et ':=' en golang

王林
王林original
2019-12-24 17:11:236834parcourir

La différence entre 'var' et ':=' en golang

Il existe de nombreuses façons de définir des variables en langage Go.

L'utilisation du mot-clé var est le moyen le plus simple de définir des variables dans Go. Parfois, := est également utilisé pour définir des variables.

Définir des variables

// 定义一个名称为“variableName”,类型为"type"的变量
// var variableName type
var number int

Définir des variables et initialiser des valeurs

// 初始化“variableName”的变量为“value”值,类型是“type”
// var variableName type = value
var number int = 10

Initialiser plusieurs variables en même temps, également appelé affectation parallèle

/*
    定义三个类型都是"type"的变量,并且分别初始化为相应的值
    vname1为v1,vname2为v2,vname3为v3
*/
// var vname1, vname2, vname3 type = v1, v2, v3
var number1, number2, number3 int = 1, 2, 3

Pensez-vous que la définition ci-dessus est un peu lourde ? Cela n'a pas d'importance, car les concepteurs du langage Go ont également découvert qu'il existe un moyen de le rendre plus simple. Nous pouvons directement ignorer la déclaration de type, donc le code ci-dessus devient comme ceci :

/*    
定义三个变量,它们分别初始化为相应的值    
vname1为v1,vname2为v2,vname3为v3    
然后Go会根据其相应值的类型来帮你初始化它们
*/
// var vname1, vname2, vname3 = v1, v2, v3
var number1, number2, number3 = 1, 2, 3

Pensez-vous que ce qui précède est encore un peu lourd ? D'accord, je le pense aussi. Continuons à simplifier :

/*    
定义三个变量,它们分别初始化为相应的值    
vname1为v1,vname2为v2,vname3为v3    
编译器会根据初始化的值自动推导出相应的类型*/
// vname1, vname2, vname3 := v1, v2, v3
number1, number2, number3 := 1, 2, 3

Ça n'a pas l'air plutôt sympa maintenant ? := Ce symbole remplace directement var et type. Cette forme est appelée une courte déclaration. Cependant, elle a une limitation, c'est-à-dire qu'elle ne peut être utilisée qu'à l'intérieur d'une fonction ; si elle est utilisée en dehors de la fonction, elle ne sera pas compilée, donc la méthode var est généralement utilisée pour définir des variables globales.

En d'autres termes, ":=" ne peut être utilisé que lors de la déclaration de "variables locales", tandis que "var" n'a pas cette restriction.

Articles et tutoriels connexes recommandés : tutoriel golang

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