Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk menetapkan nilai sandaran lalai kepada pembolehubah

Bagaimana untuk menetapkan nilai sandaran lalai kepada pembolehubah

WBOY
WBOYke hadapan
2024-02-06 08:24:06593semak imbas

Bagaimana untuk menetapkan nilai sandaran lalai kepada pembolehubah

Kandungan soalan

Saya mempunyai struct penunjuk

dalam permohonan saya
type body struct {
   a *string
   b *string
}

Saya mahu lulus nilai rentetan kosong lalai jika body中的ab的值传递给函数,这样如果指针akosong. Sesuatu seperti ini:

sampleFunc(ctx,*A||"");

func sampleFunc(ctx Context,count string){
// ......
}

Apa yang perlu saya lakukan?


Jawapan Betul


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!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:Go Kafka - nilai konfigurasiArtikel seterusnya:Go Kafka - nilai konfigurasi