English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang 기본 튜토리얼

Golang 제어 문

Golang 함수 & 메서드

Golang 구조체

Golang 슬라이스 & 배열

Golang 문자열(String)

Golang 포인터

Golang 인터페이스

Golang 병행

Golang 예외(Error)

Golang 기타 항목

Go 단변수 선언 연산자(:=)

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