Rumah >pembangunan bahagian belakang >Golang >Bagaimana Saya Boleh Memanggil masa. Kaedah Masa pada Jenis Tersuai dalam Go?

Bagaimana Saya Boleh Memanggil masa. Kaedah Masa pada Jenis Tersuai dalam Go?

Barbara Streisand
Barbara Streisandasal
2024-12-18 10:24:15529semak imbas

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

Kaedah Panggilan Jenis Dinamakan

Anda telah mencipta jenis bernama, StartTime, yang merupakan pembalut pada satu masa. Masa untuk JSON unmarshalling . Walau bagaimanapun, anda tidak dapat memanggil kaedah masa. Masa, seperti Date(), pada contoh StartTime anda.

Ini kerana, dengan menggunakan kata kunci jenis, anda telah mencipta jenis baharu dengan berkesan, bukannya memanjangkan masa sedia ada.Jenis masa. Untuk mengekalkan kaedah asal sambil menambah kaedah anda sendiri, anda harus menggunakan pembenaman jenis:

type StartTime struct {
    time.Time
}

Dengan pembenaman, medan dan kaedah jenis terbenam (masa.Masa dalam kes ini) "dipromosikan" dan boleh boleh diakses pada jenis bernama (StartTime). Oleh itu, anda kini boleh menghubungi myStartTime.Date().

Berikut ialah contoh:

package main

import (
    "fmt"
    "time"
)

type StartTime struct {
    time.Time
}

func main() {
    s := StartTime{time.Now()}
    fmt.Println(s.Date())
}

Output:

2009 November 10

Atas ialah kandungan terperinci Bagaimana Saya Boleh Memanggil masa. Kaedah Masa pada Jenis Tersuai dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn