Как во время компиляции сконвертить int к string в golang?

Имеется константа, которая является частью другой константы. Они разных типов:

import "strconv"

const (
  NUMBER = 123
  STRING = "NUMBER = " strconv.Itoa(NUMBER)
)

Этот код не заработает, так как strconv.Itoa() не const, как можно на моменте компиляции сделать из int(123) string("123")? Чтобы все таки в константу STRING записалось значание.


Ответы (1 шт):

Автор решения: Alexander Pavlov

Как тебе уже указали, простых способов нет.

Но есть непростые :)

Если это прямо вот такая проблема, что обязательно требует решения (могу себе только представить только некую библиотеку, в которой много взаимозависимых констант, потому что в своём приложении нужно просто объявить var и не париться), то можно написать генератор, который будет генерировать файл с константами и вызывать его перед билдом

go generate
go build
go test

Ссылки по теме

→ Ссылка