변수
GOLANG 에서 변수를 선언하기 위해서 일반적으로 ‘var’ 을 이용한다.
초기화 없이 선언된 변수는 값이 0 로 설정된다. 만약 int 형이라면 0, bool 타입이면 false, string 형태면 “” (빈 문자열) 이 할당된다.
var [변수명] [변수타입]
var a int // int 형 변수 a 선언
var a, b, c int // int 형 변수 a, b, c 를 선언
var a, b, c = 1, 2, "TEXT" // 선언과 동시에 값을 입력하면 자동으로 타입이 지정됨
var ( a int b string ) // 서로 다른 타입을 가진 변수를 선언
a := "TEXT" // := 기호는 변수를 선언하는 단축 표현식이다. var a string = "TEXT" // 위의 구문과 같은 뜻이다.
단, := 기호는 함수 내에서 사용해야 한다. 함수 밖에서 사용할 경우 오류가 난다.
함수 밖의 모든 statement 는 키워드로 시작해야 하기 때문이다.
상수
상수는 ‘const’ 로 상수값을 선언할 수 있다.
선언하는 방법은 ‘var’ 문과 동일하다.
하지만 상수는 값을 변경할 수 없고 상수를 선언할 때 타입을 지정하지 않는다면 맥락에 따라 타입이 변한다.package main
package main import "fmt" import "math" const a = 500000000 func main() { fmt.Println(a) fmt.Println(math.Sin(a)) }
const ( a = iota // 0 b // 1 c // 2 )
만약 상수값을 0부터 순차적으로 부여하고 싶다면 iota 를 사용하면 된다. 이 경우 a에는 0이, b에는 1 등 순차적으로 1씩 증가된 값을 받는다.
출처 : https://mingrammer.com/gobyexample/constants/