package main
- Go언어의 모든 코드는 반드시 패키지 선언으로 시작합니다.
- 패키지 선언은 코드가 어떤 패키지에 속하는지 알려줍니다.
- main 패키지는 프로그램의 시작점을 포함하는 패키지이며 main()함수가 있는 코드에 사용합니다.
import "fmt"
- fmt 패키지는 표준 입출력을 다루는 내장 패키지입니다.
- 표준 입출력으로 텍스트를 출력하거나 입력받을 때 사용합니다.
func main() {}
- 프로그램은 항상 main()함수에서 시작합니다.
주석 표현
- // : 한 줄 주석
- /* */ : 여러 줄 주석, 사이에 있는 모든 내용이 주석 처리 됩니다.
package main
import "fmt"
func main(){
// Hello World 출력문
fmt.Println("Hello World")
}
변수 선언
- 변수선언 키워드 + 변수명 + 타입 + 초기값 형식으로 메모리 할당을 할당하고 초기화할 수 있습니다.
- 변수를 선언하면 타입의 크기에 맞는 공간이 할당되며 메모리의 시작 주소를 변수명으로 지칭합니다.
- 메모리 공간에 초기값으로 설정한 값을 복사합니다.
var temp int = 99
변수명
- 변수명의 첫 글자는 반드시 문자나 _로 시작해야합니다.
- 첫 글자 이외의 글자는 문자, _, 숫자를 사용할 수 있습니다.
변수 타입
이름 | 설명 | 값의 범위 |
---|
unit8 | 1바이트 부호 없는 정수 | 0 ~ 255 |
unit16 | 2바이트 부호 없는 정수 | 0 ~ 65535 |
unit32 | 4바이트 부호 없는 정수 | 0 ~ 4294967295 |
unit64 | 8바이트 부호 없는 정수 | 0 ~ 18446744073709551615 |
int8 | 1바이트 부호 있는 정수 | -128 ~ 127 |
int16 | 2바이트 부호 있는 정수 | -32768 ~ 32767 |
int32 | 4바이트 부호 있는 정수 | -2147483648 ~ 214783647 |
int64 | 8바이트 부호 있는 정수 | -9223372036854775808 ~ 9223372036854775807 |
float32 | 4바이트 실수 | IEEE - 754 32비트 실수 |
float64 | 8바이트 실수 | IEEE - 754 64비트 실수 |
complex64 | 8바이트 복소수 | 진수와 가수 범위는 float32와 동일 |
complex128 | 16바이트 복소수 | 진수와 가수 범위는 float64와 동일 |
이름 | 설명 |
---|
boolean | 참과 거짓, 두 값만 가지는 타입 |
문자열 | string으로 타입을 표현한다. |
배열 | 같은 타입의 요소들로 이루어진 연속된 메모리 공간을 나타내는 자료 구조 |
슬라이스 | 가변 길이 배열 |
구조체 | 필드의 집합 자료 구조, 상관관계가 있는 데이터를 묶어 놓을 때 사용한다. |
포인터 | 메모리 주소를 값으로 갖는 타입 |
함수타입 | 함수를 지칭하는 타입 |
인터페이스 | 메소드 정의의 집합 |
맵 | key - value를 갖는 데이터를 저장해둔 자료구조 |
채널 | 멀티쓰레드 환경에 특화된 큐 형태 자료구조 |
타입별 기본값
- 변수 선언시 초기값을 생략하면 기본값이 자동 대입됩니다.
- 모든 정수 타입 기본값 : 0
- 모든 실수 타입 기본값 : 0.0
- boolean 기본값 : false
- 문자열 타입 기본값 : ""
- 그 외 타입 기본값 : nil
선언 대입문
- 선언 대입문을 사용하면 var키워드와 타입을 생략하고 변수를 선언할 수 있습니다.
a := 365