ในสภาพข้อผิดพลาดฉันพยายามที่จะกลับnil
ซึ่งโยนข้อผิดพลาด:
cannot use nil as type time.Time in return argument
เป็นสิ่งที่zero
คุ้มค่าสำหรับtime.Time
?
ในสภาพข้อผิดพลาดฉันพยายามที่จะกลับnil
ซึ่งโยนข้อผิดพลาด:
cannot use nil as type time.Time in return argument
เป็นสิ่งที่zero
คุ้มค่าสำหรับtime.Time
?
คำตอบ:
การเรียกใช้time.Time
ตัวอักษร struct ที่ว่างเปล่าจะส่งคืนค่าศูนย์ของ Go ดังนั้นสำหรับคำสั่งพิมพ์ต่อไปนี้:
fmt.Println(time.Time{})
ผลลัพธ์คือ:
0001-01-01 00:00:00 +0000 UTC
เพื่อความสมบูรณ์เอกสารทางการระบุอย่างชัดเจน:
ค่าศูนย์ของประเภทเวลาคือ 1 มกราคมปี 1, 00: 00: 00.000000000 UTC
คุณควรใช้ฟังก์ชัน Time.IsZero () แทน:
func (Time) IsZero
func (t Time) IsZero() bool
IsZero reports whether t represents the zero time instant, January 1, year 1, 00:00:00 UTC.
ค่าศูนย์สำหรับเวลาเวลา0001-01-01 00:00:00 +0000 UTC
ดูhttp://play.golang.org/p/vTidOlmb9P
IsZero()
เพื่อตรวจจับเวลาเป็นศูนย์