GO 언어가 실행되기 까지
GO언어는 우선 강타입을 가지는 정적언어이다. 기본적으로 컴파일을 가지고 있으며, 타입 검사에 있어 엄격한 언어이다. GO언어가 실행되기 까지의 과정은 아래와 같다.
- 폴더 생성
- .go파일 생성 및 작성
- Go모듈 빌드
- 빌드
- 실행
폴더 생성
GO언어에서 모든 코드는 '패키지 단위'로 작성된다. 같은 폴더에 속한 .go파일은 모두 같은 패키지에 포함되고, 패키지 명으로 폴더명을 사용한다.
.go파일 생성 및 작성
Go언어의 코드는 .go라는 확장자로 끝나야 한다.
Go모듈 생성
1.16버전부터 모든 Go코드는 빌드 전에 모듈을 생성해야한다.
go mod init (프로젝트 / 모듈명)
명령어를 이용해 모듈을 생성해 준다. 모듈을 생성하면 go.mod라는 파일이 생성되는데, 이 파일에는 Go버전, 필요한 패키지 목록 정보가 담겨있다.
빌드
Go코드를 기계어로 변환(컴파일)하기 위해서는 모듈 디렉토리에서
go build
명령어를 입력해준다.Go는 정적 언어인 만큼, 플랫폼 별로 컴파일 환경을 따로 맞춰주어야 한다. 빌드가 가능한 운영체제, 아키텍쳐 목록을 보려면 아래 명령어를 터미널에 입력하면 된다.
go tool dist list
실행
실행을 위해서는 ./(파일명) 을 해주면 된다.
package main
// Annotation
import "fmt"
/*
Multi line
Annotation
*/
func main() {
fmt.Println("Hello World")
}
코드를 간단히 살펴보자
1) package main
패키지 선언은 이 코드가 어떤 패키지에 속한지 알려준다. package main은 main패키지에 속했음을 알려준다. main패키지는 프로그램의 시작을 알려주는 패키지이다. main()함수가 없는 패키지는 패키지 이름으로 main을 쓸 수 없다.
결론적으로 package main은 프로그램 시작점이 있는 패키지다 라는 점만 기억하면된다.
2) import "fmt"
fmt패키지를 가져온다 Java, Python에 있는 import와 동일한 의미를 가지는 키워드이다. fmt패키지는 표준 입출력을 다루는 내장 패키지이다.
3) func main(){}
main함수를 선언하는 선언부이다.
4) 주석
Go언어에서 주석처리는 두가지가 있다.
- // : 단일 주석
- /**/ : 다중 라인 주석
5) fmt.Println("Hello World")
fmt.Println()은 표준 출력으로 문자열을 출력하는 함수이다.
'Language > GO' 카테고리의 다른 글
[GO] 함수 (0) | 2022.02.16 |
---|---|
[GO] fmt패키지를 이용한 텍스트 입출력하기 (0) | 2022.02.16 |
[Go] 패키지 (0) | 2022.02.16 |
[GO] 변수 (0) | 2022.01.29 |
[GO] GO 시작하기(feat. Apple Sillicon, 개발환경 구축, hello world출력) (0) | 2022.01.28 |