Mengimbas Input
Baca input berformat
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:
Sscanmemisahkan mengikut ruang kosong;Sscanfmengikut 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)
}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
- Kata Kerja Printf
- Sprintf dan Fprintf
- Antara Muka Stringer
- Mengimbas Input