Language/Go
golang 데이터 타입
마루바오
2019. 12. 13. 16:37
1. 데이터 타입
자료형 | 범위 | |
uint8 | 0 ~ 255 | 부호 없는 8비트 정수형 |
uint16 | 0 ~ 65,535 | 부호 없는 16비트 정수형 |
uint32 | 0 ~ 4,294,967,295 | 부호 없는 32비트 정수형 |
uint64 | 0 ~ 18,446,744,073,709,551,615 | 부호 없는 64비트 정수형 |
uint | 32비트 시스템에서는 uint32, 64비트 시스템에서는 uint64 | |
int8 | -128 ~ 127 | 부호 있는 8비트 정수형 |
int16 | -32,768 ~ 32,767 | 부호 있는 16비트 정수형 |
int32 | -2,147,483,648 ~ 2,147,483,647 | 부호 있는 32비트 정수형 |
int64 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | 부호 있는 64비트 정수형 |
int | 32비트 시스템에서는 int32, 64비트 시스템에서는 int64 | |
float32 | IEEE-754 32비트 부동소수점, 7자리 정밀도 | |
float64 | IEEE-754 64비트 부동소수점, 12자리 정밀도 | |
complex64 | float32 크기의 실수부와 허수부로 구성된 복소수 | |
complex128 | float64 크기의 실수부와 허수부로 구성된 복소수 | |
uintptr | uint와 같은 크기를 갖는 포인터형 | |
bool | 참, 거짓을 표현하기 위한 8비트 자료형 | |
byte | 8비트 자료형 | |
rune | 유니코드 저장을 위한 자료형, 크기는 int32와 동일 | |
string | 문자열을 저장하기 위한 자료형 |
2. 데이터 타입 변환
데이터 타입을 변환하기 위해서는 Type(value) 와 같이 표현합니다
아래는 소스 코드와 출력 결과 입니다.
package main
func main() {
var i int = 10
var u uint = uint(i)
var f float32 = float32(u)
println(f, u)
strA := "marubao"
bytes := []byte(strA)
strB := string(bytes)
println(bytes, strB)
}
[marubao@localhost go]$ go run src/main.go
+1.000000e+001 10
[7/32]0xc000034720 marubao
주의 할 점은 Go는 int에서 uint로 변환 할때도 암묵전 변환이 일어나지 않으므로 반드시 uint(i) 처럼 변환 타입을 지정해 주어야 합니다.