728x90
package main


func main() {
var a int
var b int
}

Go에서 변수를 선언하는 방법 C패밀리와는 조금 다르다.

물론 현대 언어들은 전부 위와같은 형태로 바뀌어 가고 있긴 하다.


int a; -> c, c++, java, C# 등...

var a int; -> kotiln, swift 등...


이 상태에서 컴파일이 될까??
보통의 경우 이 상태에서 컴파일이 될것이라고 생각할 것이다.

그러나 한번 실행해보라.



놀랍게도 Go에서는 컴파일러가 단 한번도 사용하지 않은 변수가 있으면 컴파일 마저 거부한다...

따라서 어떻게든 사용해 주던가 주석을 처리하던가 해야한다. 주석에 대한 설명은 다른 장에서 하도록 하겠다.


package main

import (
"fmt"
)

func main() {
var a int
a = 10

var b = 20

c := 30

fmt.Println(a,b,c)
}

변수를 선언하는 타입은 3종류가 있다.

변수는 선언과 초기화를 해줘야하만 쓸 수 있다.


var a int
a = 10

위의 경우는 변수를 선언해 주고, 초기화를 해주는 방식이다.

위의 방식은 한줄로 표현할 수 있다.


var a int = 10

선언과 초기화를 함께한 모습이다.

단 위와같은 형식에서 10의 경우 정수형이라는것을 알 수 있으므로 굳이 int라는 것을 적을 필요가 없다.

따라서 위의 코드는 다시 아래와 같이 나타낼 수 있다.


var b = 20

이 경우는 우측 변수가 int라는 것을 알기 때문에 굳이 변수를 적을 필요는 없다.

그리고 이렇게 변수를 초기화와 선언을 함께할 경우 더더욱 줄여서 아래와 같이 나타낼 수 있다.


c := 30

이는 변수 c가 선언과 동시에 30으로 선언된 모습이다.


위와같이 표시되는것을 볼 수 있다.


package main

import (
"fmt"
)

func main() {
var a, b, c int
var (
d string
e rune
f float32
)
a = 10
b = 20
c = 30
d = "hi"
e = 'h'
f = 3.14
fmt.Println(a, b, c, d, e, f)
}

또한 같은 타입이면 이렇게 가로로 (,)를 이용해서 우측으로 늘어놓을 수 있다.

그리고 다른 타입이라면 아래처럼 소괄호로 늘어놓을 수 있다.


'Programming > Go' 카테고리의 다른 글

[Go-06]switch(스위치)  (0) 2018.08.31
[Go-05]조건문  (0) 2018.08.31
[Go-04]연산자  (0) 2018.08.31
[Go-03]상수  (0) 2018.08.31
[Go-01]Hello world!  (0) 2018.08.13

+ Recent posts