Go 패키지(package)

패키지(package)

자작 패키지의 예를 아래에 나타낸다.

$ mkdir -p go/src/local/mypkg
$ touch go/src/local/sample.go
$ touch go/src/local/mypkg/mypkg.go
.
└── go
    └── src
        └── local
            ├── mypkg
            │   └── mypkg.go
            └── sample.go

mypkg.go 파일을 다음 내용으로 만듭니다. package 에서 패키지 이름을 선언한다.

package mypkg

import "fmt"

func FuncA() {			 // 대문자로 시작하는 것은 자동으로 내보내진다.
    fmt.Println("FuncA()")
}

func funcB() {			 // 소문자로 시작하는 것은 내보내지지 않는다.
    fmt.Println("funcB()")
}

sample.go 파일을 다음 내용으로 만든다. 대문자로 시작하는 FuncA()는 공개되어 있으므로 사용할 수 있지만, 소문자로 시작되는 funcB()는 비공개이므로 사용할 수 없다.

package main

import "local/mypkg"

mypkg.FuncA()		 // 호출할 수 있다
mypkt.funcB()		 // Error



최종 수정 : 2023-03-26