2017-01-05 23 views

回答

3

假設res.Datas[i]類型不是一個具體類型,但接口類型(如interface{}),只需使用這個type assertion

if t, ok := res.Datas[i].(time.Time); ok { 
    // it is of type time.Time 
    // t is of type time.Time, you can use it so 
} else { 
    // not of type time.Time, or it is nil 
} 

如果您不需要time.Time值,你只是想告訴我們,如果接口值包裝了一個time.Time

if _, ok := res.Datas[i].(time.Time); ok { 
    // it is of type time.Time 
} else { 
    // not of type time.Time, or it is nil 
} 

另外請注意,類型time.Time*time.Time是不同的。如果包裝了指向time.Time的指針,則需要將其檢查爲不同的類型。

+0

非常感謝這個清晰的解釋!它實際上工作:) – Doby

相關問題