상세 컨텐츠

본문 제목

[Go] 2. go mod init 패키지 관리 및 활용하기

golang

by 거니 노트 2024. 1. 2. 22:53

본문

개요

저번 포스팅에서는 Golang을 설치하여 VSCode에서 실행까지 해봤습니다. 이번 포스팅에서는 패키지를 받는 방법과 패키지를 활용한 간단한 예제 코드를 보도록 하겠습니다. 

 

Golang에서 패키지란?

Go 언어에서 패키지는 관련된 Go 소스 파일들의 모음으로, 코드 재사용성과 관리를 용이하게 합니다. 각 파일은 package 키워드로 시작하며, 패키지는 함수, 타입, 변수 및 상수를 그룹화합니다. 다른 패키지의 기능을 사용하기 위해 import 문을 사용하며, 대문자로 시작하는 이름은 외부에서 접근 가능한 공개 멤버를, 소문자로 시작하는 이름은 해당 패키지 내에서만 접근 가능한 비공개 멤버를 나타냅니다. Go에서 패키지는 일반적으로 간결하고 명확한 이름을 가지며, 각 패키지는 해당하는 디렉토리 내에 위치합니다. 

 

1. 패키지 사용하기

1-1. 모듈 생성 및 초기화

먼저 아래와 같은 명령어를 사용하여 새로운 Go 모듈을 생성하고 초기화 합니다. 이름은 원하는 이름으로 해도 상관 없습니다.

go mod init [이름]

 

1-2. 패키지 설치

golang에서 기본적으로 제공하지 않는 패키지를 아래와 같은 명령어로 설치해야 합니다. API 통신을 위한 패키지중 fiber 라는 패키지를 받아주겠습니다.

go get github.com/gofiber/fiber/v2

 

1-3. 패키지 import 하기

사용할 패키지를 get 하고 나서 코드 import부분에 추가해줘야 합니다. 아래 코드에서 패키지를 어떻게 가져오는 지를 중점으로 봐주시면 되겠습니다. 

package main

import (
	"github.com/gofiber/fiber/v2"
)

func main() {
	app := fiber.New()

	app.Get("/", func(c *fiber.Ctx) error {
		return c.SendString("Hello, World!")
	})
	
	app.Listen(":3000")
}

 

2. 패키지의 init 함수와 alias

2-1. init 함수
Go 언어의 각 패키지는 init 함수를 가질 수 있으며, 이는 패키지가 로드될 때 자동으로 호출됩니다. init 함수는 주로 패키지 수준의 초기 설정을 위해 사용됩니다. init 함수는 매개변수도 반환 값도 없으며, init() 형태로 정의합니다. 패키지 내에 여러 init 함수가 있을 경우, 그 순서는 보장되지 않습니다. init 함수는 패키지의 복잡성을 증가시킬 수 있으므로, 필요한 경우에만 사용하는 것이 좋습니다.

package main

import (
    "fmt"
)

var globalVariable string

func init() {
    globalVariable = "Hello, World!"
}

func main() {
    fmt.Println(globalVariable)
}

 

2-2. alias 사용
패키지 alias는 패키지 이름이 길거나, 동일한 이름의 다른 패키지를 사용할 경우 유용합니다. import 문에 alias를 사용하여 패키지에 새로운 이름을 부여할 수 있습니다. 너무 많은 alias 사용은 코드의 가독성을 해칠 수 있으므로, 필요한 경우에만 적절히 사용하는 것이 중요합니다.

package main

import (
    f "fmt"
)

func main() {
    f.Println("Hello, World!")
}

 

마치며

이번 포스팅에서는 golang 패키지를 사용하는 방법과 init, alias 함수에 대해 설명하였습니다. golang을 처음 접하는 분들에게 도움이 됐으면 하는 마음으로 마칩니다.

관련글 더보기