Lorsque vous travaillez avec des opérations d'entrée/sortie dans Go, il est souvent nécessaire de lire une ligne de texte sous forme de chaîne. Cependant, les fonctions readline de la bibliothèque standard renvoient principalement des tableaux d'octets.
La fonction Readln fournit un moyen pratique de convertir un tableau d'octets de readline en chaîne. Voici comment cela fonctionne :
<br>import (</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">"bufio" "fmt" "os"
)
// Readln renvoie une seule ligne (sans la terminaison n)
// du lecteur tampon d'entrée.
// Une erreur est renvoyée s'il y a une erreur avec le
// lecteur tamponné.
func Readln(r *bufio.Reader) (string, error) {
var (
isPrefix bool = true err error = nil line, ln []byte
)
for isPrefix && err == néant {
line, isPrefix, err = r.ReadLine() ln = append(ln, line...)
}
retour string(ln), err
}
func main() {
f, err := os.Open("filename.txt")
if err != nil {
fmt.Println("error opening file= ", err) os.Exit(1)
}
r := bufio.NewReader(f)
pour la ligne, euh := Lireln(r); err == nul ; ligne, err = Readln(r) {
fmt.Println(line)
}
if err != io.EOF {
fmt.Println("error reading file= ", err) os.Exit(1)
}
}
La fonction main() ouvre un fichier, crée un lecteur tamponné à partir de celui-ci, puis utilise la fonction Readln pour parcourir chaque ligne du fichier. La fonction Readln renvoie à la fois la ligne sous forme de chaîne et une valeur d'erreur. Le programme continue de lire les lignes jusqu'à ce que la fin du fichier soit atteinte ou qu'une erreur se produise.
Cette approche simplifie la lecture des lignes dans Go, offrant une méthode plus idiomatique et conviviale pour obtenir des chaînes à partir de l'entrée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!