본문 바로가기

GO lang

[GO] 커스텀 패키지 만들기

개인 패키지를 import 할때 몇가지 이슈가 자주 발생하여 개인환경을 기준으로 정리했음.

1. 환경관련. 중요한 3가지 변수는 아래와 같습니다(윈도우10 64/인텔 기준입니다).
set GO111MODULE= //이부분설정없어도 잘 됩니다.
set GOPATH=D:\workspace\GO //개인프로젝트 위치로 설정
set GOROOT=C:\Program Files\Go

2. VSCode 를 실행시, 프로젝트 폴더에서 실행해야함,  이렇게 안하면 환경변수문제가 발생할 가능성이 높습니다.
현재 폴더를 프로젝트 폴더로 해서 VSCode 가 실행됩니다.
d:\workspace\GO\nomad>code . //. 앞에는 공백 한개 있음

 

아래의 그림처럼 프로젝트 폴더가 자동으로 설정됨

 

d:\workspace\GO\nomad\main.go

package main

import (
    "GO/nomad/banking"
    "fmt"
)

func main() {
    account1 := banking.Account{Owner: "kim", Balance: 1000}
    fmt.Println(account1)
}

 

d:\workspace\GO\nomad\banking\banking.go

package banking

// Account struct
type Account struct {
    Owner string
    Balance int
}

 

// init 폴더 위치는 GOPATH의 마지막 폴더명(GO) +'/'+ 현재작업중인 프로젝트폴더명(nomad)
// GO/nomad 라고 하면 됨

D:\workspace\GO\nomad>go mod init GO/nomad   
go: creating new go.mod: module GO/nomad
go: to add module requirements and sums:
go mod tidy

D:\workspace\GO\nomad>go build // nomad.exe 생성됨

D:\workspace\GO\nomad>dir

2021-10-03 오후 11:51 banking
2021-10-04 오전 01:17 25 go.mod
2021-10-04 오전 01:15 161 main.go
2021-10-04 오전 01:17 2,097,664 nomad.exe
3개 파일 2,097,850 바이트
3개 디렉터리 136,297,881,600 바이트 남음

D:\workspace\GO\nomad>
D:\workspace\GO\nomad>nomad.exe
{kim 1000}

정상 출력이 됩니다.

 

'GO lang' 카테고리의 다른 글

[GO] Scrapping(2) - Echo server  (0) 2021.10.15
[GO] Scrapping(1) - URL checker  (0) 2021.10.07
[GO] channel  (0) 2021.10.07
[GO] 고루틴  (0) 2021.10.07
[GO] 자료구조 - map/dictionary  (0) 2021.10.06