티스토리 뷰
변수 선언
var 변수명 타입
go에서 변수를 선언할 때는 var 키워드를 사용하고 변수명 타입 순서대로 선언한다.
이렇게 선언을 하면 변수를 X 타입으로 선언한다라고 읽는 점에서 자연스럽다는 장접이 있다.
go에서 변수 값을 지정하지 않으면 기본 값으로 0이 지정된다. (문자열도 기본값이 지정되는데 ""이 저장된다)
var 변수명1, 변수명2, 변수명3 타입
같은 타입이면 ,(콤마)를 사용하여 여러 개의 변수를 한번에 선언할 수 있다.
var (
변수명1 타입1
변수명2 타입2
변수명3 타입3
)
한번에 여러 개의 다른 타입의 변수를 선언할 때는 (소괄호)를 사용하여 선언할 수 있다.
var v1 = true
var v2 = uint16(6)
변수 선언과 동시에 값을 할당하면 타입을 지정하지 않아도 된다. 아니면 값을 변환해서 바로 할당해도 된다.
v := 1
혹은 위와 같이 var를 생략하고 := 연산자를 사용해서 선언과 동시에 값을 할당하는 짧은 선언을 할 수 있다.
이런 짧은 선언은 제약이 있다. 함수 안에서는 사용 가능하지만, 전역 변수를 선언할 때는 사용이 불가능하다.
변수 이름
- 공백을 포함하지 않은 문자, 숫자, 언더바(_)를 사용할 수 있음
- 숫자는 첫글자로 사용할 수 없음
- 대소문자를 구분
- 유니코드 문자도 사용 가능 (예: var π float32)
- 변수 이름으로 키워드와 예약어를 사용할 수 없음
💡키워드 VS 예약어
키워드는 문법으로 사용되는 단어로 언어에서 특별한 의미가 있다.
예약어는 언어에 의해 예약 되어 식별자(변수명, 함수명 ....)로 사용할 수 없는 단어이다.
💡변수 이름 표기법
변수 이름에 언더바(_)를 사용할 수 있지만, 카멜 표기법으로 하는 것이 권장된다.
💡Getter & Setter
자바의 getter는 앞에 get을 붙인다. Go에서 getter는 Get접두어를 붙이지 않는다.
- GetObject ❌
- Object ⭕️
Go에서 setter는 Set을 붙인다.
-SetObject ⭕️
상수
go에서 상수는 const 키워드를 사용한다.
상수를 선언할 때 타입을 선언하지 않아도 된다.
상수는 컴파일 할 때 값이 결정된다, 따라서 컴파일 할 때 결정되지 않는 값(입력을 받아야 하는 경우와 같은)은 상수값으로 불가능하다.
(소괄호)를 사용하여 여러 개의 상수를 한 번에 선언할 수 있다.
const (
RED = 0
ORANGE = 1
YELLOW = 2
)
열거형
열거형은 1씩 증가하는 상수의 집합이다.
go에서는 상수와 열거형에 차이를 두지 않는다. go에서는 여러개의 상수를 한번에 선언하는 방식으로 열거형을 표현한다.
const (
One = 1
Two = 2
Three = 3
)
iota 예약어를 사용하여 열거형을 선언할 수 있다. iota의 값은 0이고 그 이후로 1씩 증가한다.
const (
Zero = iota // 0
One // 1
Two // 2
Three // 3
)
iota는 부동소수점 타입, 계산식에도 사용할 수 있다.
type ByteSize int64
const (
_ = iota
KB ByteSize = 1 << (10 * iota) // 1 << (10 * 1) = 1024
MB // 1 << (10 * 2)
GB
TB
PB
EB
)
const (
V0 = 0.1 * iota // 0.0
V1 // 0.1 * 1 = 0.1
V2 // 0.2
)
<참고>
https://stackoverflow.com/questions/1078908/what-is-the-difference-between-keyword-and-reserved-word
- Total
- Today
- Yesterday
- squash merge
- Basic Type
- Kotlin
- 2차 인터뷰
- string
- Python
- pm.expect
- python3
- 네이버 2022 공채
- hashcode
- java
- postman
- graphql
- 1차 인터뷰
- pm.test
- 확장 함수
- Kotlin In Action
- mysql
- 코틀린
- go 특징
- DGS Framework
- 주생성자
- downTo
- 코딩테스트
- Squash and merge
- solidity
- postman tests
- git
- github
- postman collection
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |