티스토리 뷰

golang

[golang]Go언어 실행

Xion 2021. 7. 1. 15:08

이번에는 Go 언어를 직접 타이핑하여 실행해보겠습니다!

 

고언어의 시작을 알리는 package main과 함께 기본적으로 Go언어는 "fmt"를 import해서 사용합니다.

여기서 짚고 넘어가야 할 점은,

 

1.기본적으로 pakage가 어떻게 동작하는지

2.왜 Println 같은 메서드는 대문자로 시작하는지

 

총 두 가지를 알아보겠습니다.

 

something폴더의 something.go

대문자로 작성된 func 같은 경우 auto export & auto import를 통하여 다른 패키지로부터 선언한 func 들을 import 해올 수 있습니다.

즉, section1의 helloworld.go에서 사용할 수 있다는 소리죠.

( 단, SayHello는 대문자로 시작해야합니다 소문자로 시작하는경우 private로 인식하여 import 해올 수 없습니다. )

 

 

 

 

 go run & go build & go install 명령어

 

1.go run 

go run : 해당 파일을 실행해줌으로써 결과 파일의 내용이 출력됩니다.

 

2.go build

 

go build : 해당 파일을 build 시켜서 폴더내에 helloworld라는 실행 가능한 파일이 생성(helloword 파일)이됩니다.

 

즉, run은 컴파일 없이 실행하지만 build는 컴파일을 통해 실행가능한 바이너리 파일로 만들어줍니다.

(이때 파일명은 우리가 작성한 파일명이 됩니다.)

 

 

3.go install

go install을 입력하면 아무런 반응이 일어나지 않습니다.

하지만 bin 폴더에 section1이라고 생성이 됩니다. 즉, 프로그램이 생성되는겁니다.


 

정리해보자면, 

 

run :  test를 할 경우

build : 실행 가능한 파일을 만들어 컴파일 OR 여러대의 컴퓨터에서 test를 할 경우

install :  src 폴더 + pkg 에 있는 여러 파일을 하나의 application이라고 가정 후 (기타 의존 관계들 모두 ) 포함하여 최종적으로 실행 가능한 파일로 build하여 실행 가능한 파일로 만들어줍니다.

이때, 파일명은 제일 최상단의 폴더명이 됩니다.

 

( go install 을 입력했을 경우 오류가 나오는 경우 저같은 경우는 env 파일을 다시 뜯어보니 설정이 초기화 되어 다시 설정해주었더니 해결되었습니다.)

 

'golang' 카테고리의 다른 글

[golang]Golang 문자열 연산과 결합  (0) 2021.07.04
[golang]Go언어 문자열  (0) 2021.07.02
[golang]문법 정리  (0) 2021.07.01
[golang]Go언어 반복문(for문)  (0) 2021.07.01
[golang]Go언어란 뭐지 ? Go언어 환경변수 등록  (0) 2021.07.01