Skip to content

Go 데이터 타입

다음은 Go 언어의 모든 내장 타입을 나열한 것으로 참고용으로 사용하시며, 더 많은 세부사항은 참조 매뉴얼 - 타입 에서 확인하실 수 있습니다.

불리언 타입

불리언 타입은 참값과 거짓값만 있습니다.

타입설명
booltrue는 참값, false는 거짓값

TIP

Go 에서 정수 0 은 거짓값을 나타내지 않으며, 0 이 아닌 정수도 참값을 나타낼 수 없습니다. 즉, 숫자는 불리언 값을 대신하여 논리 판단을 할 수 없으며, 두 타입은 완전히 다릅니다.

정수형

Go 는 서로 다른 비트 수의 정수에 대해 서로 다른 타입을 할당하며, 주로 무부호 정수와 부호 정수로 나뉩니다.

순서타입 및 설명
uint8무부호 8 비트 정형
uint16무부호 16 비트 정형
uint32무부호 32 비트 정형
uint64무부호 64 비트 정형
int8부호 8 비트 정형
int16부호 16 비트 정형
int32부호 32 비트 정형
int64부호 64 비트 정형
uint무부호 정형 최소 32 비트
int정형 최소 32 비트
uintptr무부호 64 비트 정형과 동일하지만 포인터 연산에 전용되며, 죽은 포인터 주소를 저장하는 데 사용됩니다.

부동소수점형

IEEE-754 부동소수점으로, 주로 단정밀도 부동소수점과 배정밀도 부동소수점으로 나뉩니다.

타입타입 및 설명
float32IEEE-754 32 비트 부동소수점
float64IEEE-754 64 비트 부동소수점

복소수 타입

타입설명
complex12864 비트 실수와 허수
complex6432 비트 실수와 허수

문자 타입

Go 언어 문자열은 완전히 UTF-8 과 호환됩니다.

타입설명
byteuint8 와 동일하며 ANSCII 문자 표현 가능
runeint32 와 동일하며 Unicode 문자 표현 가능
string문자열은 바이트 시퀀스로, []byte 타입인 바이트 슬라이스로 변환 가능

파생 타입

타입예시
배열[5]int, 길이 5 의 정형 배열
슬라이스[]float64, 64 비트 부동소수점 슬라이스
map[string]int, 키는 문자열 타입, 값은 정형인 맵
구조체type Gopher struct{}, Gopher 구조체
포인터*int, 정형 포인터.
함수type f func(), 매개변수 없고 반환 값 없는 함수 타입
인터페이스type Gopher interface{}, Gopher 인터페이스
채널chan int, 정형 채널

영값

공식 문서에서 영값은 zero value 라고 하며, 영값은 단순히 숫자 0 을 의미하는 것이 아니라 타입의 빈 값 또는 기본값이라고 하는 것이 더 정확합니다.

타입영값
숫자 타입0
불리언 타입false
문자열 타입""
배열고정 길이의 해당 타입 영값 집합
구조체내부 필드가 모두 영값인 구조체
슬라이스, 맵, 함수, 인터페이스, 채널, 포인터nil

nil

nil은 다른 언어의 none 또는 null 과 유사하지만 동일하지는 않습니다. nil 은 일부 참조 타입의 영값일 뿐이며 어떤 타입에도 속하지 않습니다. 소스 코드에서 nil 은 단순히 변수임을 알 수 있습니다.

go
var nil Type

또한 nil == nil 과 같은 문장은 컴파일을 통과할 수 없습니다.

Golang by www.golangdev.cn edit