Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengimbas Berbilang Nombor dengan Cekap ke dalam Slice dalam Go?
Mengimbas Nombor ke dalam Slices dalam Go
Apabila membaca berbilang nombor daripada input standard dalam Go, anda boleh menetapkan nilai kepada pembolehubah individu:
numbers := make([]int, 2) fmt.Fscan(os.Stdin, &numbers[0], &numbers[1])
Walau bagaimanapun, anda mungkin mahu memudahkan proses dan membaca terus ke dalam kepingan. Pakej fmt tidak menyokong pengimbasan ke dalam kepingan, tetapi fungsi utiliti berikut boleh membantu:
func packAddrs(n []int) []interface{} { p := make([]interface{}, len(n)) for i := range n { p[i] = &n[i] } return p }
Fungsi ini mencipta kepingan alamat untuk setiap elemen dalam kepingan input. Dengan fungsi ini, anda boleh mengimbas ke dalam kepingan seperti ini:
numbers := make([]int, 2) n, err := fmt.Fscan(os.Stdin, packAddrs(numbers)...) fmt.Println(numbers, n, err)
Menguji ini dengan fmt.Sscan():
numbers := make([]int, 5) n, err := fmt.Sscan("1 3 5 7 9", packAddrs(numbers)...) fmt.Println(numbers, n, err)
Output:
[1 3 5 7 9] 5 <nil>
Atas ialah kandungan terperinci Bagaimana untuk Mengimbas Berbilang Nombor dengan Cekap ke dalam Slice dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!