Go 언어에는 변수를 정의하는 방법이 많이 있습니다.
var
키워드를 사용하는 것은 Go에서 변수를 정의하는 가장 기본적인 방법입니다. 때로는 :=
도 변수를 정의하는 데 사용됩니다. var
关键字是Go最基本的定义变量方式,有时也会使用到:=
来定义变量。
定义变量
// 定义一个名称为“variableName”,类型为"type"的变量 // var variableName type var number int
定义变量并初始化值
// 初始化“variableName”的变量为“value”值,类型是“type” // var variableName type = value var number int = 10
同时初始化多个变量,又叫平行赋值
/* 定义三个类型都是"type"的变量,并且分别初始化为相应的值 vname1为v1,vname2为v2,vname3为v3 */ // var vname1, vname2, vname3 type = v1, v2, v3 var number1, number2, number3 int = 1, 2, 3
你是不是觉得上面这样的定义有点繁琐?没关系,因为Go语言的设计者也发现了,有一种写法可以让它变得简单一点。我们可以直接忽略类型声明,那么上面的代码变成这样了:
/* 定义三个变量,它们分别初始化为相应的值 vname1为v1,vname2为v2,vname3为v3 然后Go会根据其相应值的类型来帮你初始化它们 */ // var vname1, vname2, vname3 = v1, v2, v3 var number1, number2, number3 = 1, 2, 3
你觉得上面的还是有些繁琐?好吧,我也觉得。让我们继续简化:
/* 定义三个变量,它们分别初始化为相应的值 vname1为v1,vname2为v2,vname3为v3 编译器会根据初始化的值自动推导出相应的类型*/ // vname1, vname2, vname3 := v1, v2, v3 number1, number2, number3 := 1, 2, 3
现在是不是看上去非常简洁了?:=
这个符号直接取代了var
和type
,这种形式叫做简短声明。不过它有一个限制,那就是它只能用在函数内部;在函数外部使用则会无法编译通过,所以一般用var方式来定义全局变量。
换句话说,“:=
변수 정의
rrreee변수 정의 및 값 초기화
rrreee🎜여러 변수를 동시에 초기화합니다. 병렬 할당이라고도 합니다🎜🎜rrreee🎜위의 정의가 다음과 같다고 생각하시나요? 좀 번거롭다? Go 언어의 설계자들도 Go 언어를 더 간단하게 만드는 방법이 있다는 것을 발견했기 때문에 그것은 중요하지 않습니다. 타입 선언을 직접 무시할 수 있으므로 위 코드는 다음과 같습니다. 🎜rrreee🎜 위 코드가 아직 좀 번거롭다고 생각하시나요? 좋아요, 저도 그렇게 생각해요. 계속해서 단순화해 봅시다::=
기호는 var
및 type
을 직접 대체합니다. 이 형식을 짧은 선언이라고 합니다. 그러나 함수 내부에서만 사용할 수 있다는 한계가 있고, 함수 외부에서 사용하면 컴파일되지 않으므로 일반적으로 전역 변수를 정의하는 데 var 메서드를 사용합니다. 🎜🎜즉, ":=
"는 "지역 변수"를 선언할 때만 사용할 수 있지만 "var"에는 이러한 제한이 없습니다. 🎜🎜🎜추천 관련 기사 및 튜토리얼: 🎜golang 튜토리얼🎜🎜위 내용은 golang에서 'var'와 ':='의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!