Valores de estrutura padrão

No Go, obtenho que existem valores padrão para tipos. Tome int nesse caso, que é inicializado como 0.

Eu tenho um problema em que, para mim, um 0 em um int pode ser um valor válido, portanto, preciso verificar se ele foi definido por mim ou inicializado como tal. Existe alguma maneira de dizer a diferença entre eles?

Considerando ocódigo a seguir... preciso saber a diferença entretestIntOne etestIntTwo mas eles parecem iguais!

package main

import "log"

type test struct {
    testIntOne int
    testIntTwo int
}

func main() {
    s := test{testIntOne: 0}

    log.Println(s)
}

questionAnswers(1)

yourAnswerToTheQuestion