Dev./Golang
[Go] 로컬 패키지 사용하기
인쥭
2023. 5. 30. 11:29
반응형
아래와 같은 패키지 구조가 있다고 하자.
[my_first_go] tree -L 3
.
└── src
├── helper
│ ├── my_first_helper.go
│ └── my_second_helper.go
└── main.go
[my_first_go]
이 때, 각 파일은 다음과 같은 내용을 포함한다.
// main.go
package main
func main() {}
// my_first_helper.go
package helper
import "fmt"
func RunFirstHelper() {
fmt.Println("Running first helper!!!")
}
// my_second_helper.go
package helper
import "fmt"
func RunSecondHelper() {
fmt.Println("Running second helper...")
}
이 경우 main.go에서 helper 패키지를 사용한다면 commonJS 모듈을 사용하는 Node.js의 경우 main 에서 require('./helper/my_first_helper')와 같은 형태로 import 할텐데, golang에서는 다음과 같이 진행해야 한다.
- go mod init [모듈명]
- main.go를 아래와 같이 수정
package main
import (
"모듈명/src/helper"
)
func main() {
helper.RunFirstHelper()
helper.RunSecondHelper()
}
이제 go run src/main.go와 같이 실행해보자.
[my_first_go] go run src/main.go
Running first helper!!!
Running second helper...
[my_first_go]
하나하나 막혀서 화가 난다