자료형
Go 에는 6가지 정도로 분류 가능한 자료형이 있습니다.
- bool(참/거짓)
bool - 정수형 타입
int, int8, int16, int32, int64
uint, uint8, uint16, uint32, uint64
uintptr - Float 및 복소수 타입
float32, float64 - 복소수
complex64, complex128 - 문자열 타입
string - 기타 타입
byte: uint8과 동일, 바이트 코드에 사용
rune: int32과 동일, 유니코드 코드포인트(문자에 부여한 고유한 숫자값)에 사용한다
변수와 상수
상수
상수는 Go 키워드 const 를 사용하여 선언합니다.
1
|
const a int = 1
|
cs |
와 같은 방식으로 선언합니다.
변수
변수는 Go 키워드 var 을 사용하여 선언합니다.
1
|
var a int = 1
|
cs |
와 같은 방식으로 선언합니다.
자료형 추론
Go 에서는 자료형이 무었징지 알 수 있으면 자료형 생략이 가능합니다.
아래와 같이 사용 가능합니다.
1
2
3
4
|
var a = 1
var ptr_a = &a // a의 주소 저장
var b = 3.14
var str = "hello"
|
cs |
더 나아가서 var 역시 생략 가능합니다.
단 이러한 경우에는 = 대신에 := 을 사용해야 합니다.
1
2
3
4
|
a := 1
ptr_a := &a // a의 주소 저장
b := 3.14
str := "hello"
|
cs |
위와 같은 방식으로 := 을 이용하면 가능합니다.
이미 선언된 변수는 C 나 C++ 과 같이 변수에 정적으로 자료형이 고정됩니다.
1
2
3
4
5
6
7
|
a := 1 // a에 정수형 변수
str := "hello" // str에 문자열 변수 선언
a = 10 // a 값을 10으로 변경
b = 20 // 불가능, 선언되지 않은 변수 사용
a = "world" // 불가능, a는 이미 정수형
a := 3 // 불가능, a는 이미 선언된 변수
|
cs |
C/C++과 같은 다른 언어를 공부한 경험이 있으시면 쉽게 알 수 있는 내용입니다.
형변환
Go에도 당연하지만 형변환이 있습니다.
Go의 형변환은 type(name) 같은 형식으로 수행합니다.
1
2
3
4
5
6
7
|
package main
func main() {
const a = 1
b := float32(a);
println(b);
}
|
cs |
a라는 이름으로 선언된 상수에는 1이 들어가 있습니다.
이때 b라는 변수를 선언하면서 float32형으로 변환하였습니다.
출력결과는 아래와 같습니다.
자 그러면 이제 Go playground에서 아래의 코드를 작성해봅시다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
package main
import "fmt"
func main() {
var a = 10
var b = 3.14
c := float32(a)
str := "Hi,"
str += " Go!"
fmt.Println(a, b, c)
fmt.Println("Hello, World", str)
}
|
cs |
Run을 눌러보면
위와 같은 결과가 나옵니다.
이때 import "fmt" 를 지우고
playground 상단의 imports를 체크하고 format을 눌러보면
import "fmt" 가 자동으로 추가됩니다.
이전글(링크)의 설정을 모두 마치셨다면
vscode등에서도 저장(ctrl+s)하거나 수동으로(alt+shift+f) 사용가능한 기능입니다 :)
공부를 위해 정리하고 있는것이기 때문에 오류가 있으면 댓글로 알려주세요
'Language > Go' 카테고리의 다른 글
[GoLang] 조건문 (0) | 2019.08.13 |
---|---|
[GoLang] 연산자 (0) | 2019.08.08 |
[GoLang] Go 개발 환경 구축하기 (VS Code, vim) (0) | 2019.08.01 |
[GoLang] Go 설치하기 (리눅스/윈도우) (0) | 2019.08.01 |
[GoLang] Hello, playground (0) | 2019.08.01 |