Go Academy · Pelajaran

Mengimbas Input

Baca input berformat

Pelajaran 4 daripada 413 langkah

Mengimbas Input ialah pelajaran Go Academy percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Go Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Go Academy merangkumi sejumlah 4 pelajaran.

Membaca Masukan dengan fmt

Pakej fmt boleh membaca nilai, bukan sekadar mencetaknya. Fungsi imbasan menghuraikan teks menjadi pemboleh ubah yang mempunyai jenis tertentu.

Fungsi-fungsi ini merupakan lawan kepada fungsi pencetakan.

package main

import "fmt"

func main() {
    var n int
    fmt.Sscan("42", &n)
    fmt.Println(n + 1)
}

Penuding Diperlukan

Fungsi imbasan mesti menyimpan hasil, jadi Anda perlu menghantar alamat setiap pemboleh ubah menggunakan &.

Terlupa menulis & ialah pepijat imbasan yang paling biasa.

package main

import "fmt"

func main() {
    var a, b int
    fmt.Sscan("3 4", &a, &b)
    fmt.Println(a + b)
}

Sscan Memisahkan Mengikut Ruang

fmt.Sscan membaca nilai yang dipisahkan oleh ruang daripada rentetan ke dalam beberapa pemboleh ubah, dengan memilih jenis berdasarkan setiap penuding.

package main

import "fmt"

func main() {
    var name string
    var age int
    fmt.Sscan("Ada 36", &name, &age)
    fmt.Println(name, age)
}

Sscanf Menggunakan Format

fmt.Sscanf menghuraikan mengikut rentetan format, sama seperti Printf secara terbalik. Aksara literal dalam format mesti sepadan dengan masukan.

package main

import "fmt"

func main() {
    var h, m int
    fmt.Sscanf("09:05", "%d:%d", &h, &m)
    fmt.Println(h, m)
}

Menyemak Bilangan yang Dibaca

Fungsi imbasan mengembalikan bilangan item yang berjaya dihuraikan serta ralat. Semak bilangan itu untuk mengetahui sama ada penghuraian berjaya sepenuhnya.

package main

import "fmt"

func main() {
    var a, b int
    count, _ := fmt.Sscan("7", &a, &b)
    fmt.Println("parsed:", count)
}

Mengendalikan Ralat Penghuraian

Jika masukan tidak sepadan dengan jenis yang dijangka, ralat akan dikembalikan. Sentiasa periksa ralat itu untuk masukan sebenar.

package main

import "fmt"

func main() {
    var n int
    _, err := fmt.Sscan("notanumber", &n)
    if err != nil {
        fmt.Println("error:", err)
    }
}

Menghuraikan Jenis Bercampur

Anda boleh membaca beberapa jenis yang berbeza dalam satu panggilan. Jenis setiap penuding menentukan cara tokennya dihuraikan.

package main

import "fmt"

func main() {
    var word string
    var price float64
    var ok bool
    fmt.Sscan("apple 1.50 true", &word, &price, &ok)
    fmt.Println(word, price, ok)
}

Sscanf dengan Teks Literal

Sscanf sangat sesuai untuk bentuk tetap seperti koordinat atau pasangan kunci-nilai, yang tanda bacanya memisahkan nombor.

package main

import "fmt"

func main() {
    var x, y int
    fmt.Sscanf("(3,8)", "(%d,%d)", &x, &y)
    fmt.Println(x, y)
}

Membaca Nombor Titik Apung

Gunakan %f dalam Sscanf atau *float64 dalam Sscan untuk membaca nombor perpuluhan.

package main

import "fmt"

func main() {
    var temp float64
    fmt.Sscanf("21.5C", "%fC", &temp)
    fmt.Println(temp)
}

Imbasan berbanding Masukan Standard

fmt.Scan dan fmt.Scanf membaca daripada masukan standard dengan cara yang sama seperti Sscan membaca daripada rentetan. Peraturan penghuraian adalah sama; hanya sumbernya berbeza.

package main

import "fmt"

func main() {
    line := "100 200"
    var a, b int
    fmt.Sscan(line, &a, &b)
    fmt.Println(a * b)
}

Penghurai Kecil

Gabungkan pengimbasan dengan pengiraan untuk menghuraikan rekod dan menghasilkan keputusan.

package main

import "fmt"

func main() {
    var name string
    var qty int
    var unit float64
    fmt.Sscanf("pen 3 1.25", "%s %d %f", &name, &qty, &unit)
    fmt.Printf("%s total: $%.2f\n", name, float64(qty)*unit)
}

Semakan Pantas

Apakah yang mesti Anda hantar kepada fungsi imbasan untuk menyimpan hasilnya?

Ulang Kaji: Mengimbas Masukan

Anda telah belajar membaca masukan yang diformatkan:

  • Sscan memisahkan mengikut ruang kosong; Sscanf mengikut rentetan format.
  • Hantar penuding dengan & untuk setiap sasaran.
  • Semak bilangan dan ralat yang dikembalikan untuk mengesan masukan yang tidak sah.
package main

import "fmt"

func main() {
    var d, mo, y int
    fmt.Sscanf("30/05/2026", "%d/%d/%d", &d, &mo, &y)
    fmt.Println(y, mo, d)
}
Percuma untuk bermula

Pelajari Go dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
51
Pelajaran
203

Soalan Lazim

Adakah pelajaran “Mengimbas Input” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Go Academy, termasuk “Mengimbas Input”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Go Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Mengimbas Input”?

Baca input berformat Anda berlatih Go Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Go Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Go Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Mengimbas Input” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Go Academy ini?

Ya. Setiap pelajaran Go Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Kata Kerja Printf
  2. Sprintf dan Fprintf
  3. Antara Muka Stringer
  4. Mengimbas Input
← Kembali ke Go Academy