Maison  >  Article  >  développement back-end  >  Comment résoudre le code tronqué de Golang Println

Comment résoudre le code tronqué de Golang Println

PHPz
PHPzoriginal
2023-04-27 09:10:21933parcourir

Golang est largement apprécié des développeurs comme langage de programmation rapide et efficace. Cependant, nous rencontrons parfois des problèmes étranges, tels que la fonction println de Golang produisant des caractères tronqués. Ce problème est généralement dû à un codage de caractères incohérent.

Les chaînes de Golang sont codées en UTF-8 et la fonction println utilise par défaut la sortie standard, qui est la console. Dans la console, le codage de caractères par défaut du système est généralement utilisé. Dans les systèmes Windows, le codage de caractères par défaut est GBK ou GB2312, ce qui n'est pas cohérent avec le codage UTF-8. Par conséquent, lorsque la chaîne est affichée dans la console, des caractères tronqués peuvent apparaître.

La solution à ce problème consiste à définir le codage des caractères de la console sur UTF-8. Dans les systèmes Windows, nous pouvons suivre les étapes suivantes pour configurer :

  1. Ouvrez l'invite de commande

Dans les systèmes Windows, vous pouvez utiliser les touches de raccourci Win + R pour ouvrir la fenêtre d'exécution, entrez "cmd" et appuyez sur la touche Touche Entrée. Ouvrez une invite de commande.

  1. Définir le codage des caractères

Dans l'invite de commande, nous pouvons utiliser la commande chcp pour définir le codage des caractères. Entrez chcp 65001 et appuyez sur Entrée pour définir le codage des caractères sur UTF-8. Comme indiqué ci-dessous :

C:\> chcp 65001
  1. Exécutez le programme Golang

Après avoir défini l'encodage des caractères, nous pouvons normalement afficher des chaînes codées en UTF-8 dans la console. Dans Golang, nous pouvons utiliser la fonction Println dans le package fmt pour générer une chaîne. Dans le code, nous devons spécifier le codage de caractères du flux de sortie en UTF-8 pour garantir une sortie correcte. L'exemple de code est le suivant :

package main

import (
    "fmt"
    "os"
)

func main() {
    f, err := os.OpenFile("log.txt", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
    if err != nil {
        fmt.Println(err)
        return
    }
    defer f.Close()
    fmt.Fprintf(f, "Hello, 世界")
}
  1. Compilez et exécutez le programme

Après avoir écrit le programme, nous devons utiliser la commande go build pour compiler le programme et exécuter le fichier exécutable généré. Dans la console, entrez la commande suivante pour compiler :

C:\go\src\helloworld> go build

Une fois la compilation terminée, nous pouvons exécuter le programme. Dans la console, entrez la commande suivante pour exécuter le fichier exécutable :

C:\go\src\helloworld> helloworld.exe

Lors de l'exécution du programme, nous constaterons que "Hello, world" a été affiché normalement dans le fichier log.txt.

Résumé

Dans Golang, si nous rencontrons le problème d'une sortie de console tronquée, nous pouvons le résoudre en définissant l'encodage des caractères. Sur les systèmes Windows, vous pouvez utiliser la commande chcp pour définir le codage des caractères sur UTF-8. Dans le programme, nous devons spécifier le codage de caractères du flux de sortie en UTF-8 pour garantir une sortie correcte. De cette façon, nous pouvons facilement résoudre le problème de sortie tronquée par la fonction golang println et améliorer la lisibilité et la maintenabilité du programme.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn