GoScript
Go到TypeScript编译器的原理、架构与设计思想
code 什么是GoScript?
GoScript是一个Go到TypeScript编译器,它在AST(抽象语法树)级别将Go代码转换为TypeScript。这使得开发人员可以在Go后端和TypeScript前端之间共享算法和业务逻辑,实现"一次编写,到处运行"的目标。
Go代码示例
type User struct {
    ID    int    `json:"id"`
    Name  string `json:"name"`
    Email string `json:"email"`
}
func (u *User) IsValid() bool {
    return u.Name != "" && u.Email != ""
}
转换后的TypeScript代码
export class User {
  public ID: number = 0
  public Name: string = ""
  public Email: string = ""
  public IsValid(): boolean {
    const u = this
    return u.Name !== "" && u.Email !== ""
  }
}
sync
代码共享
在Go后端和TypeScript前端之间无缝共享算法、业务逻辑和数据结构
architecture
AST级别转换
在抽象语法树级别进行转换,保持代码结构和语义的准确性
settings
丰富的功能支持
支持结构体、接口、方法、通道、goroutines等Go核心特性
integration_instructions
易于集成
提供命令行工具和程序化API,轻松集成到现有开发流程中