Saya mencoba membagi string yang dipisahkan koma dan menggunakan nilai untuk menginisialisasi struct. Beginilah cara saya melakukannya sekarang: ketik Address struct { Street string City string ZipCode string } ...

go
0
Paikz 5 April 2021, 23:45

1 menjawab

Jawaban Terbaik

Periksa panjang irisan sebelum mengakses elemen:

data := Address{}
s := strings.Split("street,city,zip", ",")
data.Street = s[0]
if len(s) > 1 {
    data.City = s[1]
}
if len(s) > 2 {
    data.ZipCode = s[2]
}

Jika ini sering muncul, maka tulis fungsi pembantu sederhana:

func get(s []string, i int) string {
    if i >= len(s) {
        return ""
    }
    return s[i]
}

Gunakan seperti ini:

data := Address{Street: get(s, 0), City: get(s, 1), ZipCode: get(s, 2)}
1
ThinkGoodly 5 April 2021, 21:40