Go में time.Time के लिए शून्य मान क्या है और समय चर खाली है या नहीं कैसे जांचें?
सभी को नमस्कार! मैंने अभी Go सीखना शुरू किया है और time पैकेज के साथ काम करते समय एक अजीब स्थिति का सामना किया।
मेरे पास एक struct है जिसमें एक फ़ील्ड दिनांक और समय है। कभी-कभी यह फ़ील्ड सेट नहीं हो सकता (अन्य भाषाओं में null)। PHP या JavaScript में मैं बस null के लिए जांच करता, लेकिन Go में ऐसी सुविधा नहीं है। मैंने nil का उपयोग करने की कोशिश की, लेकिन compiler ने error दी।
यहाँ मेरे कोड का उदाहरण है:
package main
import (
"fmt"
"time"
)
type Event struct {
Name string
CreatedAt time.Time
UpdatedAt time.Time // सेट नहीं हो सकता
}
func main() {
e := Event{
Name: "टेस्ट इवेंट",
// UpdatedAt सेट नहीं किया
}
// जांचने की कोशिश कर रहा हूँ कि UpdatedAt सेट है या नहीं
if e.UpdatedAt == nil { // Compilation error
fmt.Println("UpdatedAt सेट नहीं है")
}
fmt.Println(e.UpdatedAt) // आउटपुट: 0001-01-01 00:00:00 +0000 UTC
}
मैं देख रहा हूँ कि जब मैं असाइन नहीं करता, तो यह