Génération du code source Go
Vous avez posé des questions sur la génération du code source Go. Le package go/parser fournit la fonctionnalité permettant de générer un AST (Abstract Syntax Tree) à partir d'un fichier source Go. Cependant, vous avez exprimé des difficultés à générer du code source Go à partir de l'AST.
Heureusement, le package go/printer propose une solution à ce problème. En utilisant ce package, vous pouvez facilement reconvertir un AST en sa forme de code source.
Considérez l'exemple ci-dessous (adapté d'une autre source) :
<code class="go">package main import ( "go/parser" "go/printer" "go/token" "os" ) func main() { // src represents the input source code for which we want to print the AST. src := ` package main func main() { println("Hello, World!") } ` // Create the AST by parsing src. fset := token.NewFileSet() // positions are relative to fset f, err := parser.ParseFile(fset, "", src, 0) if err != nil { panic(err) } printer.Fprint(os.Stdout, fset, f) }</code>
L'exécution de cet exemple produira le résultat suivant :
package main func main() { println("Hello, World!") }
Cela démontre l'utilisation efficace du package go/printer pour reconvertir un AST en sa représentation de code source.
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!