이번 편의 목표: 연체료 함수를 다른 패키지로 옮기고, 밖으로 공개할 이름만 대문자로 둡니다.
모듈 이름은 01편의 go.mod 첫 줄에 있습니다. module library 이면 하위 폴더 book의 가져오기 경로는 library/book 입니다. 패키지 밖에서는 대문자로 시작하는 이름만 보입니다.
book/fee.go를 새로 만듭니다.
package book
func OverdueFee(days int) int {
if days <= 0 {
return 0
}
return days * 100
}main.go는 다음만 둡니다.
package main
import (
"fmt"
"library/book"
)
func main() {
fmt.Println(book.OverdueFee(3))
}go run .
출력은 300입니다. 표준 라이브러리 import와 자기 모듈 import 사이에는 빈 줄을 둡니다. 함수 이름을 overdueFee처럼 소문자로 바꾸면 main에서 부를 수 없습니다. 계산은 book 패키지에 두고, 출력은 main에 둡니다.
직접 해 보기
book.OverdueFee(4)로 바꿔 출력이 400인지 확인하세요.
해설
4일은 0보다 크므로 4 * 100입니다. 패키지 이름과 대문자 함수 이름은 그대로 둡니다.
COMMENTS
댓글 0
이 글에 대한 의견이나 질문을 남겨 주세요.
댓글은 구글이나 카카오로 시작한 뒤에 남길 수 있습니다.
등록된 댓글이 없습니다.