Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk melampirkan fungsi pada struct dalam Golang
Jika anda datang dari bahasa lain seperti php, C# , Dart dan lain-lain, anda sudah biasa membuat kaedah untuk kelas. Biasanya kaedah ini melaksanakan satu tindakan untuk kelas tersebut. Dalam bahasa OOP sedemikian, anda mencipta kaedah sedemikian dalam skop kelas seperti :
class ClassName{ .... function functionName(){ // perform action } }
In go anda mula-mula mencipta struct kemudian anda boleh melampirkan penerima untuk melakukan tindakan khusus untuk struct. Sebagai contoh, kami mempunyai sebagai Pengguna model yang kami mahu ia mempunyai kaedah yang mengembalikan nama penuh pengguna yang kami ada seperti yang ditunjukkan di bawah:
type myUser struct{ FirstName string LastName string PostalCode string DateOfBirth time.Time }
Di atas kami baru sahaja mencipta jenis Pengguna dengan pelbagai atribut seperti FirstName, LastName .... , kami ingin mempunyai kaedah yang melakukan beberapa tindakan khas untuk jenis 'myUser' dalam kes ini hanya kembalikan borang nama penuh atribut FirstName,LastName yang dinyatakan.
Kita boleh mencipta nama penuh fungsi penerima yang mengembalikan rentetan.
func (user *myUser) fullname() (string, string){ return user.FirstName ,user.LastName }
Bagaimana kita boleh menggunakan ini? kita boleh menguji ini secara langsung dalam fungsi utama hanya untuk melihat cara ia berfungsi:
func main() { user := myUser{ FirstName: "Felix", LastName: "chi", } fmt.Println(user.fullname()) }
Oleh itu kami telah berjaya mencipta kaedah penerima untuk struct myUser kami. Ode penuh akan seperti:
package main import ( "fmt" "time" ) type myUser struct { FirstName string LastName string PostalCode string DateOfBirth time.Time } func (user *myUser) fullname() (string, string) { return user.FirstName, user.LastName } func main() { user := myUser{ FirstName: "Felix", LastName: "chi", } fmt.Println(user.fullname()) }
Jadi apa seterusnya? teruskan dan tampal kod pada https://go.dev/play/ untuk melihat cara ia benar-benar berfungsi. Lihat dalam siaran anda yang seterusnya...!!!!
Atas ialah kandungan terperinci Bagaimana untuk melampirkan fungsi pada struct dalam Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!