package main
import (
"fmt"
"strings"
)
func main() {
reg := [...]string {"a","b","c"}
fmt.Println(strings.Join(reg,","))
}
memberi saya kesalahan:
prog.go: 10: tidak dapat menggunakan reg (string tipe [3]) sebagai string tipe [] dalam argumen ke string.
Apakah ada cara yang lebih langsung / lebih baik daripada mengulang dan menambahkan ke var?
reg := []string {"a","b","c"}
?Jawaban:
Judul pertanyaan Anda adalah:
namun pada kenyataannya,
reg
adalah tidak sepotong, tapi panjang-tiga larik.[...]string
hanyalah gula sintaksis untuk (dalam hal ini)[3]string
.Untuk mendapatkan potongan yang sebenarnya, Anda harus menulis:
(Coba ini: https://play.golang.org/p/vqU5VtDilJ .)
Kebetulan, jika Anda benar-benar perlu menggabungkan larik string menjadi satu string, Anda bisa mendapatkan potongan dari larik dengan menambahkan
[:]
, seperti:(Coba ini: https://play.golang.org/p/zy8KyC8OTuJ .)
sumber
Gunakan slice, bukan array. Buat saja dengan menggunakan
Alternatifnya adalah mengonversi larik Anda menjadi irisan saat bergabung:
Baca blog Go tentang perbedaan antara slice dan array .
sumber
Ini masih relevan di 2018.
Untuk String
Kembali ke Slice lagi
sumber