아무래도 문법에 대해서 이야기할려면 변수와 상수부터 이야기해야겠지요.
C언어는 공식적으로 C언어의 적자입니다.
그렇기에 C언어를 알고 계신다면 큰 어려움없이 익히실 수 있을듯 합니다.
이 글은 여러분이 C언어를 알고 있다는 가정 아래 진행합니다.
1. 변수
c언어 스타일로 변수를 선언한다면 이렇게 되겠지요.
int a;
이를 Go 스타일로 바꾸면
var a int
일단 다른 C언어와 다른 점은 세미콜론이 없어도 된다는 겁니다. 옵션입니다.
Go 언어는 세미콜론이 없습니다. 또한 형(Type)이 뒤에 붙습니다.
앞에 var는 variable을 뜻하지요.
같은 내용을 배열의 선언으로 보시죠
C언어 : int a[10];
Go언어 : var a [10]int
다른듯하면서 이해하기는 쉽습니다.
앞에 var이 붙고 변수명이 붙고 뒤에는 타입이 붙습니다.
여러 변수를 선언한다면 이렇게 표현할 수도 있습니다.
var(
a int
f float64
s string
)
변수들은 선언과 동시에 초기화가 됩니다.
혹은 이렇게 초기화를 해줘도 됩니다.
var(
a int = 4
f float64 = 4.01
s string = "hi"
)
또는 이렇게 타입을 빼고 선언을 할수도 있습니다.
var a = 4
비슷한 방법으로는 이런것도 있습니다.
v := 4
위에 두 방식으로 선언을 하면 컴파일러가 알아서 변수 타입을 선택합니다.
var v int = 4 와 같은 의미지요. 그렇기에 초기화를 하는 경우에만 해당 방법을 사용할 수 있습니다.
var v 이런식으로는 선언이 안된다는 거지요.
종합해보면 Go의 변수 선언 방식은 아래와 같은 방식들이 있습니다.
1. var a int
2. var(
a int
)
3. var a int = 4
4. var a = 4
5. a := 4
느낌상으로 C언어와 비슷하면서 자동화가 많은 부분 이루어진 느낌입니다.
변수의 종류에 대해서는 다른 포스트에서 다루기로 하겠습니다. 좀 내용이 많습니다.
2. 상수
Go언의 상수는 선언시 타입을 가지지 않지도 않고 크기에 제한도 없습니다.
이런식으로 선언이 가능하다는 겁니다.
const a = 1 << 100
하지만 상수가 타입이 필요한 곳에서는 제한이 들어갈 수 있습니다.
enum의 경우 Go에서 지원하지 않습니다. 대신 iota를 이용해 연속되는 값을 얻을 수 있습니다.
const (
red = iota //0
blue //1
green //2
)
'Programming > GO Language' 카테고리의 다른 글
유용한 사이트 (0) | 2014.03.27 |
---|---|
설치2) Go Language IDE - Goclipse (0) | 2014.03.27 |
설치2) Go Language IDE - golangide (0) | 2014.03.27 |
설치1) Go Language SDK 설치 (0) | 2014.03.26 |