Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menukar Go AST Kembali ke Kod Sumber?
Soalan ini menangani cabaran untuk menukar fail sumber Go kepada perwakilan pokok sintaks yang sesuai menggunakan pakej go/parser. Walau bagaimanapun, menjana kod sumber Go daripada pokok sintaks kekal sebagai masalah yang tidak dapat diselesaikan.
Pakej go/pencetak menawarkan penyelesaian kepada isu ini. Ia membenarkan penukaran Pokok Sintaks Abstrak (AST) kembali kepada kod sumber.
Pertimbangkan contoh kod berikut:
<code class="go">package main import ( "go/parser" "go/printer" "go/token" "os" ) func main() { // Input source code src := ` package main func main() { println("Hello, World!") } ` // Parse the source code into an AST fset := token.NewFileSet() f, err := parser.ParseFile(fset, "", src, 0) if err != nil { panic(err) } // Print the AST as source code printer.Fprint(os.Stdout, fset, f) }</code>
Apabila dilaksanakan, coretan kod ini membaca rentetan sumber, menghuraikannya ke dalam AST, dan kemudian mencetak semula AST sebagai kod sumber Go. Hasilnya ialah kod sumber input asal.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Go AST Kembali ke Kod Sumber?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!