1. 변수란?
프로그래밍에서 변수는 값을 저장하는 메모리 공간을 가리키는 이름
활용을 잘 하면 좋은 듯 하여 링크 공유)
2. 변수 선언
var a int = 10
var : 변수 선언 키워드
a : 변수명
int : 타입
10 : 초깃값
3. 변수 이름
Go 언어에서 변수명을 지을 때 다음과 같은 규칙을 따라야
- 변수명은 문자, _, 숫자를 사용해 지을 수 있지만 첫 글자는 반드시 문자나 _로 시작해야 한다.
(영어뿐 아니라 한글, 한문 같은 다른 언어 문자도 가능)
ㅇ 올바른 예 : abc, a123, _a12, 하나, _둘
ㅇ 올바르지 않은 예: 123, 1abc, %asf - _ 를 제외한 다른 특수문자(space 포함)를 포함 할 수 없다.
반드시 지켜야 하는 것은 아니지만, Golang 의 권장사항
- 변수명은 영문자를 제외한 다른 언어의 문자를 사용하지 않는다.
- 변수명에 여러 단어가 이어지면 두 번째 단어부터는 대문자로 시작한다.
ㅇ 올바른예 : lastName, firstName, safariChrome
ㅇ 올바르지 않은 예: last_name, first_name, safari_chrome - 변수명은 되도록 짧게 하고, 잠시 사용되는 로컬 변수는 한글자를 권장한다.
- 밑줄 _은 일반적으로 사용하지 않는다. _를 사용하는 경우를 함수와 패키지 부분에서 설명한다.
4. 변수 선언의 다른 형태
package main
import "fmt"
func main() {
var a int = 1 // 기본 형태
var b int // 초기값 생략, 초깃값은 타입별 기본값으로 대체
var c = 4 // 타입 생략, 변수 타입은 우변 값의 타입이 됨
d := 10 // 선언 대입문 := 을 사용해서 var 키워드와 타입 생략
fmt.Println(a, b, c, d)
}
// 결과 1 0 4 10
*타입별 기본값
타입 | 기본값 |
모든 정수 타입 (int8, int16, int32, int64, uint8, uint16, uint32, uint64, int, uint, byte, rune) |
0 |
모든 실수 (float32, float64, complex64, complex128) |
0.0 |
불리언 | false |
문자열 | "" |
그외 | nil (정의되지 않은 메모리 주소를 나타내는 Go 키워드) |
선언 대입문 :=
선언 대입문이란 말 그대로 선언과 대입을 한꺼번에 하는 구문
선언대입문을 사용하면 var 키워드와 타입을 생략해 변수를 선언 할 수 있다.
var a = 3.1123 // a 는 float64 타입으로 자동 지정
b := 123 // b 는 int 타입으로 자동 지정
c := "Hello" // c 는 string 타입으로 자동 지정
5. 변수의 범위
변수는 자신이 속한 중괄호 {} 범위를 벗어나면 사라짐
package main
import "fmt"
var a int = 10 // 전연 변수 선언
func main() {
var b int = 20 // 지역 변수 선언
{
var c int = 30 // 지연 변수 선언
} // c 지역 변수 사라짐
fmt.Println(a, b, c)
// 결과 undefined: c
}
[참고] tucker 의 Go 언어 프로그래밍
'Language > Go' 카테고리의 다른 글
[Go] for (0) | 2021.11.07 |
---|---|
[Go] switch (0) | 2021.10.30 |
[Go] if (0) | 2021.10.30 |
[Go] 상수 (0) | 2021.10.24 |
[Go] 개발 환경 구축 (go install for window, mac, linux) (0) | 2021.10.17 |