"No pasar argumentos" suena como una llamada a una función. Es una estructura literal sin campos especificados. X {} es el valor cero de la estructura X para cualquier X.
Russ Cox
1
@RussCox No creo que sea verdad. En mi caso, tengo un campo de tiempo. Tiempo en mi estructura que tiene el atributo 'omitempty'. Si no configuro ese valor, se establece automáticamente en 0001-01-01 00:00:00 +0000 UTC en lugar de ser ignorado.
De hecho, si se compara si el valor dado para el tiempo es nulo o no, esto es lo que realmente debería usarse.
Gaurav Ojha
77
Si bien esta es la respuesta correcta para la comparación, el OP no preguntó sobre la comparación, sino cómo inicializar el valor cero. La respuesta aceptada es correcta.
IsZero()
para detectar el tiempo cero.Respuestas:
Invocar un
time.Time
literal de estructura vacío devolverá la fecha cero de Go. Por lo tanto, para la siguiente declaración impresa:El resultado es:
En aras de la exhaustividad, la documentación oficial establece explícitamente:
fuente
En su lugar, debe usar la función Time.IsZero ():
fuente
El valor cero para el tiempo. El tiempo es
0001-01-01 00:00:00 +0000 UTC
Ver http://play.golang.org/p/vTidOlmb9Pfuente