Avatar ·

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
}

मैं देख रहा हूँ कि जब मैं असाइन नहीं करता, तो यह