티스토리 뷰
반응형
Go 언어의 변수 자료형
Go 언어는 정적 타입 언어로, 변수의 자료형을 컴파일 시에 미리 결정합니다. Go에서는 기본 자료형과 사용자 정의 자료형이 있으며, 주요 기본 자료형은 다음과 같습니다:
1. 기본 자료형 (Primitive Types)
정수형 (Integer Types)
Go에서는 다양한 크기의 정수형 자료형을 제공합니다:
int
: 기본 정수형 (플랫폼에 따라 32비트 또는 64비트)int8
: 8비트 정수 (-128 to 127)int16
: 16비트 정수 (-32,768 to 32,767)int32
: 32비트 정수 (-2,147,483,648 to 2,147,483,647)int64
: 64비트 정수 (-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807)
Go는 부호 없는 정수형도 지원합니다:
uint
: 기본 부호 없는 정수형 (플랫폼에 따라 32비트 또는 64비트)uint8
: 8비트 부호 없는 정수 (0 to 255) (별칭:byte
)uint16
: 16비트 부호 없는 정수 (0 to 65,535)uint32
: 32비트 부호 없는 정수 (0 to 4,294,967,295)uint64
: 64비트 부호 없는 정수 (0 to 18,446,744,073,709,551,615)
부동 소수점형 (Floating Point Types)
Go는 IEEE-754 표준을 따르는 두 가지 부동 소수점 자료형을 제공합니다:
float32
: 32비트 부동 소수점 (약 6~7자리의 정밀도)float64
: 64비트 부동 소수점 (약 15~16자리의 정밀도)
복소수형 (Complex Types)
Go는 복소수(complex numbers)를 위한 자료형도 지원합니다:
complex64
: 64비트 복소수 (실수와 허수 부분이 각각float32
)complex128
: 128비트 복소수 (실수와 허수 부분이 각각float64
)
문자형 (Character Types)
byte
:uint8
의 별칭으로, ASCII 문자 데이터를 저장하는 데 사용됩니다.rune
:int32
의 별칭으로, 유니코드 코드 포인트를 저장하는 데 사용됩니다.
불리언형 (Boolean Type)
bool
: 참(true
) 또는 거짓(false
) 값만 가질 수 있는 논리 자료형입니다.
문자열형 (String Type)
string
: 불변의 문자열로, UTF-8 인코딩된 바이트 시퀀스를 표현합니다.
2. 사용자 정의 자료형 (User-Defined Types)
Go에서는 기본 자료형 외에도 사용자가 새로운 자료형을 정의할 수 있습니다.
배열 (Array)
- 동일한 자료형의 요소들로 이루어진 고정 길이의 자료 구조입니다.
- 배열의 크기는 고정되어 있으며, 선언 시에 지정해야 합니다.
var a [5]int // 정수형 배열, 길이 5
슬라이스 (Slice)
- 동적 크기의 배열처럼 작동하는 자료형으로, 고정된 크기의 배열에 비해 더 유연합니다.
- 슬라이스는 길이(
len
)와 용량(cap
)을 가집니다.
s := []int{1, 2, 3} // 정수형 슬라이스
맵 (Map)
- 키-값 쌍을 저장하는 해시 맵 자료형입니다.
- 모든 키는 고유해야 하며, 값은 키와 관련된 데이터입니다.
m := make(map[string]int) // 문자열 키, 정수 값의 맵
구조체 (Struct)
- 여러 자료형을 묶어서 하나의 자료 구조로 만들 수 있는 사용자 정의 자료형입니다.
type Person struct {
Name string
Age int
}
인터페이스 (Interface)
- 메서드의 집합을 정의하는 자료형으로, 다형성을 구현하는 데 사용됩니다.
type Shape interface {
Area() float64
}
3. 타입 변환 (Type Conversion)
Go에서는 암시적 타입 변환을 지원하지 않으며, 명시적으로 타입 변환을 해야 합니다.
var i int = 42
var f float64 = float64(i) // int를 float64로 변환
요약
- Go는 다양한 기본 자료형과 사용자 정의 자료형을 제공하여 유연하고 강력한 프로그램을 작성할 수 있도록 합니다.
- 자료형은 고정되어 있으며, 명시적 타입 변환이 필요합니다.
반응형
'프로그래밍 > golang' 카테고리의 다른 글
go언어로 json파싱해보기 (0) | 2024.09.13 |
---|---|
Go 언어로 HTTP 요청 보내보기 (0) | 2024.09.13 |
Go언어가 C언어에 비해 좋은 점은 뭘까? (0) | 2024.09.13 |
mac에서 go 개발환경 만들어보기 (1) | 2024.09.13 |
C언어 개발자 입장에서 Go언어 문법 간략히 보기 (0) | 2024.09.13 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- MacOS
- 부동산분석
- AI
- Linux
- 재테크
- 카톡업데이트
- 프로그래밍
- 재건축
- Java
- golang
- JavaScript
- Backend
- ChatGPT
- SWiFT
- CSS
- WinAPI
- 부동산
- ios
- reactjs
- go
- 개발자
- Frontend
- Python
- 오리역
- HTML
- 카카오톡
- Spring
- react
- 생각
- 내집마련
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함