Updated:

less than 1 minute read

개요

  • 코드의 모듈화
  • 코드를 묶는 기본 단위
  • 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