Как во время компиляции сконвертить int к string в golang?
Имеется константа, которая является частью другой константы. Они разных типов:
import "strconv"
const (
NUMBER = 123
STRING = "NUMBER = " strconv.Itoa(NUMBER)
)
Этот код не заработает, так как strconv.Itoa() не const, как можно на моменте компиляции сделать из int(123) string("123")? Чтобы все таки в константу STRING записалось значание.
Ответы (1 шт):
Как тебе уже указали, простых способов нет.
Но есть непростые :)
Если это прямо вот такая проблема, что обязательно требует решения (могу себе только представить только некую библиотеку, в которой много взаимозависимых констант, потому что в своём приложении нужно просто объявить var и не париться), то можно написать генератор, который будет генерировать файл с константами и вызывать его перед билдом
go generate
go build
go test
Ссылки по теме