gpt4 book ai didi

go - 生成 Go 源代码

转载 作者:IT王子 更新时间:2023-10-29 01:22:16 26 4
gpt4 key购买 nike

我正在寻找一种生成 Go 源代码的方法。

我发现 go/parser 可以从 Go 源文件生成 AST,但找不到从 AST 生成 Go 源的方法。

最佳答案

要将 AST 转换为源代码形式,可以使用 go/printer包。

示例(另一个 example 的改编形式)

package main

import (
"go/parser"
"go/printer"
"go/token"
"os"
)

func main() {
// src is the input 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)

}

(也为 here)


输出:

package main

func main() {
println("Hello, World!")
}

关于go - 生成 Go 源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14724499/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com