首頁 > 後端開發 > Golang > 如何在 Go 中呼叫自訂類型的 time.Time 方法?

如何在 Go 中呼叫自訂類型的 time.Time 方法?

Barbara Streisand
發布: 2024-12-18 10:24:15
原創
453 人瀏覽過

How Can I Call time.Time Methods on a Custom Type in Go?

命名類型的呼叫方法

您已經建立了一個命名類型StartTime,它是圍繞time.Time 進行JSON 解組的包裝器。但是,您無法在 StartTime 實例上呼叫 time.Time 的方法,例如 Date()。

這是因為,透過使用 type 關鍵字,您實際上建立了一個新類型,而不是擴展現有的 time.Time 類型。要在添加自己的方法時保留原始方法,您應該使用類型嵌入:

type StartTime struct {
    time.Time
}
登入後複製

通過嵌入,嵌入類型(在本例中為time.Time)的字段和方法將被“提升”並且可以在命名類型(StartTime) 上存取。因此,您現在可以呼叫 myStartTime.Date()。

這是一個範例:

package main

import (
    "fmt"
    "time"
)

type StartTime struct {
    time.Time
}

func main() {
    s := StartTime{time.Now()}
    fmt.Println(s.Date())
}
登入後複製

輸出:

2009 November 10
登入後複製

以上是如何在 Go 中呼叫自訂類型的 time.Time 方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板