메모용 개발 블로그
  • Home

Categories

  • All Posts116
  • OS35
    • Linux23
    • MacOS8
    • Windows4
  • 데이터베이스3
    • Oracle1
    • Postgresql1
  • Develop26
    • CSS33
    • Go8
    • HTML52
    • Java1
    • JavaScript4
    • React2
    • Svelte2
  • 개발일기10
  • Docker1
  • Git3
  • GitLab12
  • Nginx7
  • 기타16
  • 이 블로그의 오픈소스3
Go•2023년 4월 25일

Go 빌드 타임 변수

Table of Contents

  • Go 빌드 타임 변수

프로그램에 버전이나 혹은 빌드 시간 등을 넣고 싶을 수 있다.

이 경우 링커가 동작할 때. 값을 넘겨주어 전역 변수에서 사용할 수 있다.

우선 사용할 변수를 전역변수로 설정해둔다.

package main

import (
	"log"
)

var (
	Version = "dev"
)

func main() {
  log.Println(Version)
}

여기서는 대표적으로 Version을 프로그램에 넣고 싶을 경우이다.

아무래도 버전이라는 것은 실제 배포시에 버전이 기록되고 개발 시에는 개발 버전으로 명시할 필요가 있으니 dev라는 값을 주었다.

그 다음 일반적으로 빌드를 하면

go build

dev값을 그대로 출력할 것이다.

하지만, 다음과 같이 링커에게 전달될 인수를 추가할 수 있다.

go build -o cup-tools.exe -ldflags="-X 'main.Version=1.0.0'"

이렇게 하면 1.0.0 이라는 출력을 내보낼 것이다.

← Back to all posts