Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk menetapkan nilai sandaran lalai kepada pembolehubah
Saya mempunyai struct
penunjuk
type body struct { a *string b *string }
Saya mahu lulus nilai rentetan kosong lalai jika body
中的a
和b
的值传递给函数,这样如果指针a
kosong. Sesuatu seperti ini:
sampleFunc(ctx,*A||""); func sampleFunc(ctx Context,count string){ // ...... }
Apa yang perlu saya lakukan?
Isytiharkan fungsi untuk mengira nilai dari penunjuk dengan logik yang anda perlukan. Saya menggunakan generik di sini supaya fungsi berfungsi dengan mana-mana jenis.
// value returns the value the value pointed // to by p or the empty value when p is nil. func value[t any](p *t) t { var result t if p != nil { result = *p } return result }
Gunakan seperti ini:
samplefunc(ctx, value(a))
API dengan *string
medan biasanya menyediakan fungsi pembantu untuk tujuan ini. Contohnya, AWS API menyediakan fungsi stringvalue:
sampleFunc(ctx, aws.StringValue(A))
Atas ialah kandungan terperinci Bagaimana untuk menetapkan nilai sandaran lalai kepada pembolehubah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!