#03 Go 언어의 타입
자료형 |
설명 |
범위 |
uint8 |
부호없는 8비트, 1바이트 정수 |
0 ~ 255 |
uint16 |
부호없는 16비트, 2바이트 정수 |
0 ~ 65535 |
uint32 |
부호없는 32비트, 4바이트 정수 |
0 ~ 4294967295 |
uint64 |
부호없는 64비트, 8바이트 정수 |
0 ~ 18446744073709551615 |
int8 |
부호있는 8비트, 1바이트 정수 |
-128 ~ 127 |
int16 |
부호있는 16비트, 2바이트 정수 |
-32768 ~ 32767 |
int32 |
부호있는 32비트, 4바이트 정수 |
-2147483648 ~ 2147483647 |
int64 |
부호있는 64비트, 8바이트 정수 |
-9223372036854775808 to 9223372036854775807 |
float32 |
IEEE-754 32비트 단정밀도 부동소수점, 7자리 정밀도 보장 |
|
float64 |
IEEE-754 64비트 배정밀도 부동소수점, 15자리 정밀도 보장 |
|
complex64 |
float32 크기의 실수부와 허수부로 된 복소수 |
|
complex128 |
float64 크기의 실수부와 허수부로 된 복소수 |
|
byte |
uint8과 크기가 동일, 바이트 단위로 저장할 때 사용 |
|
int32와 크기가 동일, 유니코드 문자 코드를 저장할 때 사용 |
|
|
uint |
32비트 시스템에서는 uint32, 64비트 시스템에서는 uint64 |
|
int |
32비트 시스템에서는 int32, 64비트 시스템에서는 int64 |
|
uintprt |
uint와 크기가 동일하며 포인터를 저장할 때 사용 |
|
[ 변수 선언 ]
키워드 변수명 자료형
var i int
var s string
선언과 동시에 초기화를 시켜주면 자료형을 생략 가능합니다.
var i = 10
var s = "string"
키워드 var와 자료형을 생략도 가능합니다.
i := 10
s := "string"
위의 내용을 응용해서 여러개 선언하는 법
var x, y int = 30, 50 // x = 30, y = 50
var x, y = 30, 50 // x = 30, y = 50
x, y := 30, 50
[ 변수 크기 ]
c언어의 sizeof 연산자처럼 변수의 크기 구하기 입니다.
크기는 바이트단위 입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package main import "fmt" import "unsafe" // Sizeof 함수를 사용하기 unsafe 패키지 사용 func main() { var num1 int8 = 1 var num2 int16 = 1 var num3 int32 = 1 var num4 int64 = 1 fmt.PrintIn(unsafe.Sizeof(num1)) // 1 fmt.PrintIn(unsafe.Sizeof(num2)) // 2 fmt.PrintIn(unsafe.Sizeof(num3)) // 4 fmt.PrintIn(unsaef.Sizeof(num4)) // 8 } | cs |
[ 문자열 ]
문자열 길이 구하기
len함수를 사용
1 2 3 4 5 6 | var s1 string = "한글" var s2 string = "Hello" len(s1) // 6 : UTF-8 인코딩의 바이트 길이이므로 6 len(s2) // 5 : 알파벳 5글자이므로 5 | cs |
[ 문자열 수정하기 ]
문자열의 문자를 직접적으로 수정할수 없습니다.
[ 상수 선언 ]
const 상수명 자료형 = 초기값
1 2 | const i int = 10 const s string = "STRING" | cs |
[ 열거형 ]
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 32 33 | const Sunday = 0 const Monday = 1 const Tueday = 2 const Wedday = 3 const Thuday = 4 const Friday = 5 const Satday = 6 // const () 키워드를 사용시 const를 반복하지 않아도 됩니다. const( Sunday = 0, Monday = 1, Tueday = 2, Wedday = 3, Thuday = 4, Friday = 5, Satday = 6 ) // 또는 iota를 사용하여 대입연산자를 생략 가능합니다. const( Sunday = iota, Monday, Theday, Wedday, Thuday, Friday, Satday ) | cs |