개요
- 코드의 모듈화
- 코드를 묶는 기본 단위
- init 함수
- alias
- import 시에 패키지 이름 지정 가능
- init 함수만을 호출하기 위해서 혹은 동일 패키지 이름의 다른 모듈을 이용하고자 할 때 사용
예제
- 코드
- calculate/calculate.go
// package calculate implements functions for the four arithmetic operations
package calculate
func init() {
println("init call in calculate package")
}
// Add returns the sum of two numbers
func Add(x, y int) int {
return x + y
}
// Subtract returns the subtract of two numbers
func Subtract(x, y int) int {
return x + y
}
// Multiply returns the multiply of two numbers
func Multiply(x, y int) int {
return x * y
}
// Division returns the division of two numbers
func Division(x, y float64) float64 {
return x / y
}
- main.go
package main
import (
"fmt"
calc "test/calculate"
)
func init() {
println("init call in main package")
}
func main() {
fmt.Println(calc.Add(1, 2))
fmt.Println(calc.Subtract(1, 2))
fmt.Println(calc.Multiply(1, 2))
fmt.Println(calc.Division(1, 2))
}
- 실행 결과
init call in calculate package
init call in main package
3
3
2
0.5