본문 바로가기
Golang/Study

chapter2(2)

by 윤원용 2022. 1. 18.

go 확장자를 실행 시 키는 방법은 터미널에서 main함수가 있는 패키지(현재 파일 경로)에서 go run이라는 명령어를 사용하거나 IDE의 힘을 빌리는 방법이다.

 

오늘은 책에 나와있는 run, build, test에 대해 포스트 한다.

 

run

IDE의 힘을 안 빌리고 명령 프롬프트(CMD)에서 하는 방법을 알아볼 거다. (어차피 IDE의 터미널에서 할 거임 ㅋ)

go run hello.go

hello.go 파일이 없는 경로에서 해당 명령어를 실행시키면

 hello.go파일을 못 찾음

이런 식으로 찾지 못한다.

 

그럼 현재 경로에서 상대 경로로 입력하면 가능할까?

hello.go파일의 상대 경로를 입력 후 실행

위와 같이 실행이 가능하다.

 

그럼 해당 파일의 경로로 이동해서 실행시켜보겠다.

hello.go파일의 위치로 이동해서 실행

지금은 run으로 예제를 실행시켰지만 build나 test도 똑같은 개념이다. 해당 파일의 경로로 이동해서 실행시키던가 아니면 현재 경로에서 상대 경로를 전부 입력 후 실행시키는 방법이 있다.

 

build

build는 잘 이해도 못 했고 이게 왜 필요한지도 아직 감이 안 오지만 책에 나온 내용 기준으로 설명해보겠다.

책에서 설명한 내용으론 두 가지 방법이 있다.

1. go build hello.go

2. go build -o hello.exe hello.go

1번은 go확장자 파일과 이름이 같은 exe 파일을 만드는 거고 2번은 실행 파일명과 확장자를 변경해서 build 할 수 있다.

주의할 점은 2번은 자동으로 exe확장자를 붙여주는 게 아니라 꼭 명시해야 한다. (OS마다 실행 확장자가 다르니 주의)

java와 다른 부분은 OS에서 지원하는 기능을 안 쓰고 Go만의 기능으로만 실행 파일을 만들어서 파일 용량이 크다고 나와있다. 

hello.exe 파일의 용량

hello.go 파일은 겨우 1KB인데 hello.exe 파일은 1.845MB이다. 이 뜻이 뭘 뜻하는지는 잘 모르겠지만... ㅋㅋ

 

test

Go도 Java처럼 단위 테스트 라이브러리를 지원하는데 테스트해볼 예제 프로그램을 만들어야겠다.

chaper2 패키지 하위로 만들라 했는데 아마 계속 쓸 것 같아서 chapter2와 같은 레벨로 만들었다.

test명령어도 실행시키는 두 가지 방법이 있다. (2를 좋아하나....)

1. go test

2. go test -v

go test는 테스트한 결과만 알려주는 거고 go test -v는 테스트 파일에 무슨 함수들이 있고 각각의 함수의 결과를 알 수 있다. 만약 테스트 함수가 3개인데 3개 중 2개만 성공했고 1개가 실패하면 go test 명령어로는 fail만 알 수 있고 go test -v는 무슨 함수가 실패했는지까지 알 수 있다.

 

글이 길어지니까 다음 시간에 테스트에 사용할 패키지를 소개하면서 시작하겠다.

'Golang > Study' 카테고리의 다른 글

chapter3(2) primitive type - boolean and int  (0) 2022.01.23
chapter3(1) variable  (0) 2022.01.19
chapter2(3) go test  (0) 2022.01.18
chapter2(1)  (0) 2022.01.17
Golang 시작하기  (0) 2022.01.17