Go Lang
- 2009년 구글이 개발한 프로그래밍 언어
- C와 비슷한 문법
- C는 메모리 관리가 힘듦
Pros
- 정적 타입에서 나오는 안정성
- 컴파일 언어에서 나오는 빠른 속도
- Garbage Collection -> 메모리를 알아서 해제
- 병행성 : 리눅스 기본 스레드가 아닌, 고 런타임이 관리하는 스레드를 사용하기 떄문에 경량화된 스레드 ( go routine ), 스레드를 손쉽게 생성, 및 스레드 간 커뮤니케이션의 용이성
- 모듈화 및 패키지 : 코드 재사용을 위한 모듈화, 인터넷을 통한 패키지 재사용
defer
: 코드를 지연해서 사용 가능 - 해당 프로그램이 종료되기 전까지 지연됨
함수 앞에 go
: 새로운 스레드 생성
make
: 스레드 간 메세지를 통신할 수 있게끔 만들어줌
for
: Go 언어의 유일한 반복문
주요 Go 명령
go build
: go 바이너리 빌드
go run
: 코드 빌드 및 실행
go mod init
: 새로운 모듈 생성
go mod tidy
: 필요 의존성 설치 및 필요 없는 의존성 삭제