[go] go 언어의 패키지

Go 언어는 패키지를 통해 코드를 모듈화하고 재사용할 수 있도록 지원합니다. 이번 포스트에서는 Go의 패키지를 어떻게 작성하고 사용하는지에 대해 알아보겠습니다.

  1. 패키지란?
  2. 패키지 작성하기
  3. 패키지 사용하기
  4. 외부 패키지 사용하기

패키지란?

패키지(package)는 Go 코드의 모듈화 단위로, 함수, 구조체, 변수 등을 모아놓은 것입니다. 패키지는 코드의 구조를 유지하고 관리하기 쉽게 도와줍니다.

패키지 작성하기

패키지를 작성하기 위해서는 package 키워드를 사용하여 소스 코드 파일의 맨 위에 패키지 이름을 명시해야 합니다. 예를 들어, math 패키지를 생성하려면 다음과 같이 작성할 수 있습니다.

package math

import "fmt"

// 덧셈 함수
func Add(a, b int) int {
    return a + b
}

// 뺄셈 함수
func Subtract(a, b int) int {
    return a - b
}

위 코드는 math 패키지를 생성하고, 덧셈과 뺄셈을 수행하는 함수를 정의한 것입니다.

패키지 사용하기

다른 Go 파일에서 패키지를 사용하려면 import 문을 사용하여 해당 패키지를 가져와야 합니다.

package main

import (
    "fmt"
    "math"
)

func main() {
    fmt.Println(math.Add(5, 3))       // "8" 출력
    fmt.Println(math.Subtract(5, 3))  // "2" 출력
}

위 코드에서 main 패키지에서 math 패키지를 사용하고 있습니다.

외부 패키지 사용하기

Go 언어는 표준 라이브러리 이외에도 다양한 외부 패키지들을 사용할 수 있습니다. 외부 패키지는 go get 명령어를 통해 다운로드한 후 import하여 사용할 수 있습니다.

예를 들어, gorilla/mux 패키지를 사용하려면 다음과 같이 작성할 수 있습니다.

package main

import (
    "net/http"
    "github.com/gorilla/mux"
)

func main() {
    r := mux.NewRouter()
    r.HandleFunc("/", homeHandler)
    http.Handle("/", r)
    http.ListenAndServe(":8080", nil)
}

위 코드에서는 gorilla/mux 패키지를 사용하여 웹 애플리케이션의 라우팅을 처리하고 있습니다.

이렇게 Go의 패키지 시스템을 효과적으로 활용하여 코드의 모듈화와 재사용을 촉진할 수 있습니다.

더 많은 내용을 알고 싶다면, Go 언어 공식 문서를 참고해보세요!