패키지 방식이란?
go의 코드를 여러개의 파일로 나누어 관리하는 것
( 하나의 파일 : 패키지 )
go에서 패키지 만들기
// main.go 파일이 있는 폴더에, 새로운 폴더 만들고 새로운 파일 만들기
// ./accounts/accounts.go
// 이 파일이 패키지 임을 go에게 알려줌
package accounts
// 패키지 내부에서 struct 만들기
// go에서 맨앞글자(a)가 소문자이면, private 취급되어 다른 파일에서 사용할 수 없게 숨겨진다.
type account struct{
owner string
balance int
}
// 다른 파일에서 사용할 수 있는 public함수 만들기 (맨앞글자 대문자)
func NewAccount(owner string) *account{
account := account{owner:owner, balance:0}
return &account
}
만든 패키지 사용하기
// 패키지 가져오기
import (
"main.go경로/accounts"
)
// accounts패키지 안에서, NewAccount 함수 사용하기
func main(){
account := accounts.NewAccount("jinho")
fmt.Println(account)
}
/*
accounts 패키지의 account struct는, private 요소 이므로 외부에서 사용이 불가능하다.
- accounts.account{owner:"jinho", balance:0} 형식으로 사용불가능
*/
반응형