名前付き型のメソッドの呼び出し
時間のラッパーである名前付き型 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 サイトの他の関連記事を参照してください。