ホームページ >バックエンド開発 >Golang >Go のカスタム型で time.Time メソッドを呼び出すにはどうすればよいですか?

Go のカスタム型で time.Time メソッドを呼び出すにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-18 10:24:15456ブラウズ

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

名前付き型のメソッドの呼び出し

時間のラッパーである名前付き型 StartTime を作成しました。JSON アンマーシャリングの時間。ただし、StartTime インスタンスで Date() などの time.Time のメソッドを呼び出すことはできません。

これは、type キーワードを使用することで、実際には新しい型を作成したことになるためです。既存の時間を延長します。時間タイプ。独自のメソッドを追加しながら元のメソッドを保持するには、型の埋め込みを使用する必要があります。

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。