02 변수, 상수, 함수!

Go language course for beginners


변수

Go에서의 변수는 기본적으로 Zero Value로 초기화된다.

정수는 0, 실수는 0.0, 문자열은 ""(빈 문자열), 논리는 false, 복소수는 0+0i로 초기화됩니다. interface나 포인터, 슬라이스, 맵, 배열, 함수는 nil이다.

Go에서는 변수는 var 키워드를 사용하여 선언할 수 있다.

var msg string

var 변수이름 타입을 사용하여 변수를 선언할 수 있다.

이렇게 선언한 변수는 Zero Value로 초기화됩니다.

또한 선언문 뒤에 값을 할당할 수 있다.

var msg string = "Hello, World!"

그리고 := 연산자를 사용하여 변수를 선언할 수도 있습니다.

msg := "Hello, World!"

다만 이 방법은 최상위 스코프에서는 사용할 수 없습니다. 즉 전역 변수에서는 사용할 수 없습니다.

상수

Go에서의 상수는 const 키워드를 사용하여 선언할 수 있습니다.

const msg string = "Hello, World!"

Go에서의 상수는 컴파일 시점에 결정되므로 선언한 후에 값을 변경할 수 없습니다.

따라서 컴파일 타임에 결정하지 못하는 값은 상수로 사용할 수 없습니다.

함수

Go에서의 함수는 "func" 키워드를 사용하여 선언할 수 있습니다.

// 입력이 없는 함수
func 함수이름0() {
    //실행문
}

// 출력이 없는 함수
func 함수이름1(입력변수0 입력타입0) {
    //실행문
}

// 하나의 출력을 가지는 함수
func 함수이름2(입력변수0 입력타입0) 출력타입 {
    //실행문
}

// 여러 개의 출력을 가지는 함수
func 함수이름3(입력변수0 입력타입0) (출력타입0, 출력타입1) {
    //실행문
}

// named return values
func 함수이름4(입력변수0 입력타입0) (출력변수 출력타입) {
    //실행문
}

// 가변인자 함수
func 함수이름5(입력변수0 ...입력타입0) {
    //실행문
}

What's next?

다음 포스트에서는 if문과 switch문을 살펴보겠습니다.