English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Golang의 단변수 선언 연산자(:=)는 적절한 이름과 초기 값을 가진 변수를 생성하는 데 사용됩니다. 이 연산자를 사용하는 주요 목적은 함수 내에서 지역 변수를 선언하고 초기화하며, 변수의 범위를 축소하는 것입니다. 변수의 타입은 표현식의 타입에 의해 결정됩니다. var 키워드는 특정 타입의 변수를 생성하는 데도 사용됩니다. 따라서 Golang에서는 변수를 생성하는 두 가지 방법이 있습니다. 다음과 같이 말할 수 있습니다:
var 키워드를 사용하면 됩니다
단변수 선언 연산자(:=)를 사용하면 됩니다
이 문서에서는 단변수 선언 연산자에 대해 논의할 것입니다. var 키워드에 대해 더 알고 싶다면Go에서참조var 키워드。
단변수 선언 연산자의 문법을 사용하면 됩니다:
variable_name := 표현식 또는 값
여기서는 선언 이후 즉시 변수를 초기화해야 하며, 변수의 타입을 언급하지 않아도 됩니다. 변수의 타입을 평가하는 데 사용되는 표현식이나 값은 변수의 타입입니다. 또한 var 키워드를 사용하여 선언 시 초기화를 피할 수 있습니다.
예제:여기서는 타입을 지정하지 않고 단축 선언 연산자(:=)를 사용하여 변수를 선언합니다. 변수의 타입은:=표현식의 타입을 결정합니다.
package main import "fmt" func main() { //변수 선언 및 초기화 a := 30 //문자열 변수를 받아들입니다 Language := "Go 언어 기본 튜토리얼" fmt.Println("a의 값: ", a) fmt.Println("Language의 값: ", Language) }
출력:
a의 값: 30 Language의 값: Go 언어 기본 튜토리얼
단축 선언 연산자(:=)도 단일 선언에서 여러 변수를 선언하는 데 사용될 수 있습니다동일 타입 또는 다른 타입의여러 변수. 이 변수들의 타입은:=표현식 평가.
package main import "fmt" func main() { //여러 동일 타입 변수(int) w3codebox1, w3codebox2, w3codebox3 := 117, 7834, 5685 //다양한 타입의 여러 변수 w3codebox4, w3codebox5, w3codebox6 := "GFG", 859.24, 1234 //값과 변수 타입을 표시 fmt.Printf("w3codebox1 의 값은 : %d\n", w3codebox1) fmt.Printf("w3codebox1 의 타입은 : %T\n", w3codebox1) fmt.Printf("\nw3codebox2 의 값은 : %d\n", w3codebox2) fmt.Printf("w3codebox2 의 타입은 : %T\n", w3codebox2) fmt.Printf("\nw3codebox3 의 값은 : %d\n", w3codebox3) fmt.Printf("w3codebox3 의 타입은 : %T\n", w3codebox3) fmt.Printf("\nw3codebox4 의 값은 : %s\n", w3codebox4) fmt.Printf("w3codebox4 의 타입은 : %T\n", w3codebox4) fmt.Printf("\nw3codebox5 의 값은 : %f\n", w3codebox5) fmt.Printf("w3codebox5 의 타입은 : %T\n", w3codebox5) fmt.Printf("\nw3codebox6 의 값은 : %d\n", w3codebox6) fmt.Printf("w3codebox6 의 타입은 : %T\n", w3codebox6) }
출력:
w3codebox1 의 값은 : 117 w3codebox1 의 타입은 : int w3codebox2 의 값은 : 7834 w3codebox2 의 타입은 : int w3codebox3 의 값은 : 5685 w3codebox3 의 타입은 : int w3codebox4 의 값은 : GFG w3codebox4 의 타입은 : string w3codebox5 의 값은 : 859.240000 w3codebox5 의 타입은 : float64 w3codebox6 의 값은 : 1234 w3codebox6 의 타입은 : int
단축 변수 선언 연산자(:=)를 사용하여만 가능합니다단일 블록 범위만을 가집니다의 지역 변수대체로, 지역 변수는 함수 블록 내에서 선언됩니다. short 선언 연산자(:=)를 사용하여 전역 변수를 선언하려고 시도하면 오류 메시지가 표시됩니다.
package main import "fmt" //var 키워드를 사용하여 선언 //변수를 초기화 //它是包变量,或者你可以说全局范围 var w3codebox1 := 900 //단축 변수 선언 사용 //에러를 던집니다 w3codebox2 := 200 func main() { //함수 내부에서 w에 접근3codebox1 fmt.Println(w3codebox1) // 함수 내부에서 w에 접근3codebox2 fmt.Println(w3codebox2) }
출력 오류:
#.\test.go:12:1: 문법 오류: non-function body outside declaration statement #.\test.go:12:1: 문법 오류: 함수 본체 외의 비 선언 문장
package main import "fmt" //전역 변수를 var로 선언 var w3codebox1 := 900 func main() { //단축 변수 선언 사용 //메인 함수 내에서 //지역 변수의 범위를 가지고 있음을 의미하며, 즉 //메인 함수 외에서 접근 w3codebox2 := 200 //함수 내부에서 w에 접근3codebox1 fmt.Println(w3codebox1) //함수 내부에서 w에 접근3codebox2 fmt.Println(w3codebox2) }
출력:
900 200