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 |