Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Melaksanakan Fungsi Go yang Setara dengan `getchar()` C?

Bagaimana untuk Melaksanakan Fungsi Go yang Setara dengan `getchar()` C?

Susan Sarandon
Lepaskan: 2024-12-18 17:34:11
asal
832 orang telah melayarinya

How to Implement a Go Function Equivalent to C's `getchar()`?

Go Function Equivalent to C's getchar

getchar(), fungsi dalam C, membenarkan pengguna membaca satu aksara daripada konsol. Fungsi ini adalah wajar untuk aplikasi seperti penyiapan konsol. Dalam Go, fungsi serupa boleh dilaksanakan menggunakan pakej bufio.

Pelaksanaan Go getchar()

package main

import (
    "bufio"
    "fmt"
    "os"
)

func main() {
    reader := bufio.NewReader(os.Stdin)
    input, _ := reader.ReadString('\n')
    fmt.Printf("Input Character: %v", string([]byte(input)[0]))
}
Salin selepas log masuk

Had getchar()

Walau bagaimanapun, dalam kes penyiapan tab, getchar() mungkin bukan penyelesaian yang ideal. Tidak seperti getchar(), yang memerlukan menekan Enter untuk menangkap input, fungsi seperti ncurses' getch(), readline atau jLine direka untuk menangkap satu ketukan kekunci tanpa memerlukan Enter.

Alternatif kepada getchar() untuk Penyiapan Tab

Untuk penyiapan tab, pertimbangkan alternatif ini penyelesaian:

  • Gunakan ncurses/readline bindings: Contohnya, perpustakaan seperti https://code.google.com/p/goncurses/ menyediakan ncurses bindings.
  • Laksanakan penyelesaian anda sendiri: Gunakan sumber seperti https://play.golang.org/p/plwBIIYiqG sebagai titik permulaan.
  • Panggil arahan luaran: Laksanakan arahan seperti stty atau jLine menggunakan os.Exec.

Rujukan:

  • https://groups.google.com/forum/?fromgroups=#!topic/golang -nuts/zhBE5MH4n-Q
  • https://groups.goog le.com/forum/?fromgroups=#!topic/golang-nuts/S9AO_kHktiY
  • https://groups.google.com/forum/?fromgroups=#!topic/golang-nuts/icMfYF8wJCk

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Fungsi Go yang Setara dengan `getchar()` C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan