Go에서 embed를 이용해서 파일을 가져오는 방법에 대해 알아보자
2025년 4월 16일
Go에서 파일을 가져오는 방법은 여러가지가 있다.
os.ReadFile()
을 사용해서 파일을 읽어오는 방법도 있고, embed
패키지를 사용해서 파일을 가져오는 방법도 있다.
용도가 조금 다르지만, embed
패키지를 사용하면 빌드할 때 파일을 포함시킬 수 있어서 배포할 때 유용하다.
간단히 예를 살펴보면 다음과 같은 txt 파일을 만들어보자
hello.txt
Hello, World!
이제 embed
패키지를 사용해서 이 파일을 가져와보자.
main.go
package main
import (
"fmt"
_ "embed"
)
//go:embed hello.txt
var content string
func main() {
fmt.Println(content)
}
위 코드를 실행하면 다음과 같은 결과를 볼 수 있다.
Hello, World!
단순히 txt
파일만 되는 것은 아니고, html
, css
, js
, yaml
등 사실상 모든 파일을 가져와서 읽을 수 있는 셈이다.
다만 너무 크기가 큰 파일을 가져오면 메모리 소비가 큰 편으로 주의해야 한다.