728x90
반응형
1. 변수
값을 저장하는 메모리 공간
2. 선언
var - variable
var a int//변수 선언
a = 1//초기화
var b int = 2//변수 선언 및 초기화
c := 3//변수 선언 및 초기화 := 선언 대입문(선언과 대입을 한꺼번에 하는 구문)
var d = 4//변수 선언 및 초기화
(1) 변수명
카멜케이스를 사용 권장 (스네이크 사용 권장 X)
(2)타입
숫자 타입
이름 | 설명 | 값 범위 |
uint8 | 1바이트 부호 없는 정수 | 0~255 |
uint16 | 2바이트 부호 없는 정수 | 0~65535 |
uint32 | 4바이트 부호 없는 정수 | 0~4294967295 |
uint64 | 8바이트 부호 없는 정수 | 0~18446744073709551615 |
int8 | 1바이트 부호 있는 정수 | -128~127 |
int16 | 2바이트 부호 있는 정수 | -32768~32767 |
int32 | 4바이트 부호 있는 정수 | -2147483648~2147483647 |
int64 | 8바이트 부호 있는 정수 | -9223372036854775808~9223372036854775807 |
float32 | 4바이트 실수 | IEEE-754 32비트 실수 |
float64 | 8바이트 실수(기본 a := 1.0 선언 시 float64 타입) | IEEE754 64비트 실수 |
complex64 | 8바이트 복소수(진수, 가수) | 진수가 와수 범위는 float32와 같음 |
complex128 | 16바이트 복소수(진수, 가수) | 진수가 와수 범위는 float64와 같음 |
byte | unit8의 별칭(unit8과 같음) | |
rune | int32의 별칭(UTF-8로 문자 하나를 나타낼 때 사용) | |
int | 32컴퓨터에선 int32, 64컴퓨터에선 int64 (기본 a := 1 선언 시 int타입) |
|
uint | 32컴퓨터에선 uint32, 64컴퓨터에선 uint64 |
그 외 타입
이름 | 설명 |
boolean | true, false |
문자열(string) | 문자열 |
배열 | 같은 타입의 요소들로 이루어진 연속된 메모리 공간을 나타냄 |
슬라이스 | 가변 길이 배열 |
구조체 | 필드(변수)의 집합 자료구조 ex)회원 구조체(이름, ID, 주소) |
포인터 | 메모리 주소를 값으로 갖는 타입, 포인터 이용해 같은 메모리 공간을 가리키는 여러 변수 생성 가능 |
함수 타입 | 함수를 가리키는 타입, 함수 포인터, 사용할 함수를 동적으로 바꿀 때 사용 |
인터페이스 | 메소드 정의의 집합 |
맵 | 키와 값을 갖는 데이터를 저장하는 자료구조 |
채널 | 멀티스레드 환경에 특화된 큐 형태의 자료구조 |
(3)타입별 기본 값
타입 | 기본 값 |
모든 정수 타입 | 0 |
모든 실수 타입 | 0.0 |
boolean | false |
string(문자열) | "" |
그 외 | nil(정의되지 않은 메모리 주소를 나타냄) |
(4)타입 변환
a := 3//int
float64(a)//float64로 변환
728x90
반응형
'Golang' 카테고리의 다른 글
[Golang] 함수 (0) | 2022.02.09 |
---|---|
[Golang] 연산자 (0) | 2022.02.08 |
[Golang] fmt 패키지 (0) | 2022.02.04 |
[Golang] VSCode에서 github import Error (0) | 2022.01.30 |
[Golang] Download 및 초기 watcher 설치까지 (0) | 2022.01.29 |