Go 언어 특징
개념 | 존재여부 | 설명 |
클래스 | 무 | 클래스는 없지만, 메서드를 가지는 구조체를 지원함. |
상속 | 무 | 상속을 지원하지 않음. |
메서드 | 유 | 구조체가 메서드를 가질 수 있음. |
인터페이스 | 유 | 인터페이스로 상속구조를 대신함. |
익명함수 | 유 | 함수 리터럴이라는 이름으로 제공함. |
가비지 컬렉터 | 유 | 고성능 가비지 컬렉터를 제공함. |
포인터 | 유 | 메모리 주소를 가리키는 포인터가 존재함. |
제네릭 프로그래밍 | 무 | 제네릭 프로그래밍을 지원하지 않음. |
네임스페이스 | 무 | 네임스페이스를 제공하지 않음. 패키지 단위로 분리됨. |
Go 언어 실행 절차
- 폴더 생성
- .go 파일 생성 및 작성
- Go 모듈 생성
- 빌드
- 실행
폴더 생성
Go 언어에서 모든 코드는 패키지 단위로 작성된다. 같은 폴더에 위치한 .go 파일은 모두 같은 패키지에 포함되고, 패키지 명으로 폴더명을 사용합니다.
.go 파일 생성 및 작성
코드를 구현하는 파일은 항상 .go 확장자로 끝나야 합니다.
Go 모듈 생성
V.1.16 버전 이후로 Go 모듈이 기본으로 적용됩니다. 모든 Go 코드는 빌드하기 전에 모듈을 생성해야 합니다.
빌드, 실행
Go 코드를 기계어로 변환하여 실행 파일을 만든 뒤, 실행파일을 실행하면 됩니다.
책을 보면서 공부한 내용을 정리하면서 작성하는 글입니다. 따라서, 주제 하나를 많은 시간을 들여서 쓰지 않고, 간단하게 작성하는 것부터 시작해서, 계속 다듬어가면서 업데이트해 나갈 생각입니다. 참고하는 자료가 있을 때마다 출처를 적어 놓겠습니다.