GO #3 - 변수(Variables)와 상수(Constants)에 관하여
변수(Variables)와 상수(Constants)
Javascript를 했다면
상수(Constants)는 const
변수(Variables)는 let으로 이해하면 됩니다.
상수(Const) 선언 방법
func main() {
const name = "corner"
}
이렇게 명시할 수 있지만, 이 코드는 "타입이 없는 상수"라고 정의할 수 있습니다.
Go 언어는 Type 언어이기 떄문에 어떤 타입을 가지고 있는지를 명시해주어야 합니다.
Java나 C언어 처럼 String, Boolean 등 적어야합니다.
하지만 조금 특이하게도 변수명 뒤에 타입을 지정합니다.
func main() {
//const name = "corner" // 타입이 없는 상수
const name string = "corner" // 타입 선언
}
잘못된 방법
당연하게도, boolean 타입에 String 값을 넣으면 오류가 발생합니다.
func main() {
//const name = "corner" // 타입이 없는 상수
const name bool = "corner" // 잘못된 선언
}
또한, 상수로 선언한 값을 다른 값으로 변환할 수 없습니다.
const name string = "corner"
name = "king" // 오류 발생 지점
fmt.Println(name)
변수(Variables) 선언 방법
변수 선언하는 방법은 var
으ㄹ 사용합니다.
func main() {
var name string = "corner"
name = "hong"
fmt.Println(name)
}
이 문법은 매우 기초적인 방법입니다.
특별하게도 Go에서는 다른 방법도 가능합니다.
func main() {
name := "corner"
name = "hong"
fmt.Println(name)
}
name := ".."
이렇게도 선언할 수 있습니다. 이 축약형 방식은 위 변수 선언 코드 방식과 같은 뜻을 의미합니다.
하지만 이 변수는 값을 변경할 수 있지만, 타입을 변경할 수는 없습니다.
예를 들어..
func main() {
name := true
name = "hong" // error
fmt.Println(name)
}
name := true
boolean 타입의 name 이라는 변수가 true 값을 가지도록 선언하고, 밑에서 name 이라는 변수에 String 값을 넣게되면 오류가 발생합니다.
그리고 이 축약형 변수 선언은 func 내에서만 가능합니다. func 밖에서는 사용할 수 없습니다.
축약형이 아니기만 한다면 func 밖에서도 선언할 수 있습니다.
:=
방식은 오로지 변수에만 적용이 가능합니다.
'⚙️ Backend > 🐿GO' 카테고리의 다른 글
Go - 반복문 (for) 그리고 range와 ...args 살펴보기 (0) | 2022.05.17 |
---|---|
GO #4 - Functions Example(GO 함수 예제) (0) | 2022.05.15 |
GO #2 - main 패키지와 import 관련 설명 (0) | 2022.05.15 |
Go - 시작하기 :: 설치 과정 (0) | 2022.05.15 |
GO Lang에 관하여.. (1) | 2022.05.14 |
댓글