Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara input dalam golang

Cara input dalam golang

PHPz
PHPzasal
2023-04-05 09:10:572297semak imbas

Bahasa Go ialah bahasa pengaturcaraan yang sangat cekap Sintaksnya ringkas dan mudah difahami, dan kos pembelajarannya agak rendah, jadi ia sangat popular di kalangan pengaturcara. Apabila menggunakan bahasa Go, anda selalunya perlu memasukkan beberapa data. Jadi, bagaimanakah bahasa Go melaksanakan input? Seterusnya artikel ini akan memperkenalkan secara terperinci cara input dalam golang.

1. Fungsi Input

Dalam bahasa Go, fungsi yang melaksanakan input ialah fungsi fmt.Scan(). Fungsi fungsi ini adalah untuk membaca data daripada input standard, dan biasanya digunakan apabila data input agak kecil. Berikut ialah sintaks asas fungsi ini:

fmt.Scan(&input)

Dalam sintaks ini, &input ialah penunjuk kepada pembolehubah input. Apabila data input dibaca, data input disimpan dalam pembolehubah input. Perlu diingatkan bahawa jenis pembolehubah input mesti sepadan dengan jenis data input. Sebagai contoh, jika integer perlu dimasukkan, pembolehubah input mestilah jenis int.

2. Fungsi berbilang input

Apabila berbilang data perlu dimasukkan, berbilang parameter fungsi fmt.Scan() boleh digunakan untuk mencapai ini. Contohnya, jika anda perlu memasukkan dua integer, anda boleh menggunakan sintaks berikut:

fmt.Scan(&a, &b)

Dalam sintaks ini, &a dan &b ialah penunjuk kepada pembolehubah a dan b masing-masing. Apabila membaca data input, data pertama akan disimpan dalam pembolehubah a dan data kedua akan disimpan dalam pembolehubah b.

Perlu diambil perhatian bahawa data input hendaklah dipisahkan oleh aksara seperti ruang, tab dan pemulangan pengangkutan. Jika tiada pemisah antara data input, anda perlu menggunakan fungsi fmt.Scanf().

3. Fungsi fmt.Scanf()

Fmt.Scanf() digunakan untuk membaca data input berformat. Ia serupa dengan fungsi fmt.Scan(), kecuali anda perlu menentukan jenis data dan rentetan format apabila membaca data. Berikut ialah sintaks asas fungsi ini:

fmt.Scanf(format, &input)

Antaranya, format mewakili rentetan format, dan input mewakili pembolehubah data input. Perlu diingatkan bahawa aksara format yang digunakan dalam rentetan format mesti sepadan dengan jenis data input. Contohnya, jika anda perlu memasukkan integer, gunakan aksara format "%d" dalam rentetan format.

Jika anda perlu memasukkan berbilang data, anda boleh menentukan berbilang aksara format dalam rentetan format. Contohnya, jika anda perlu memasukkan dua integer, anda boleh menggunakan sintaks berikut:

fmt.Scanf("%d %d", &a, &b)

4. pakej bufio

Bahasa Go juga menyediakan pakej bufio untuk melaksanakan operasi input yang cekap. Pakej bufio menyediakan dua jenis: bufio.Scanner dan bufio.NewReader. Gunakan jenis bufio.Scanner untuk membaca data baris demi baris dan gunakan jenis bufio.NewReader untuk membaca aliran data dengan panjang sewenang-wenangnya.

Berikut ialah contoh kod untuk membaca data baris demi baris melalui pakej bufio:

import (
    "bufio"
    "os"
)

func main() {
    scanner := bufio.NewScanner(os.Stdin)
    for scanner.Scan() {
        input := scanner.Text()
        // 处理输入数据
    }
}

Dalam kod di atas, fungsi bufio.NewScanner mencipta objek jenis bufio.Scanner , yang boleh diperolehi daripada Baca data daripada os.Stdin. Baca data input dalam gelung melalui pengimbas. Fungsi Scan(), membaca satu baris data setiap kali. Data yang dibaca disimpan dalam pembolehubah input dan kemudiannya boleh diproses dengan sewajarnya.

Ringkasnya, melalui pengenalan di atas, saya percaya pembaca telah memahami cara memasukkan dalam golang. Perlu diingatkan bahawa dalam pembangunan sebenar, senario input yang berbeza mungkin memerlukan kaedah input yang berbeza, dan pembangun perlu memilih kaedah input yang sesuai dengan mereka berdasarkan situasi tertentu.

Atas ialah kandungan terperinci Cara input dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn