Repolode
goplus

goplus/xgo

XGo 是基于 Go 的编程语言,语法接近自然英语,并可调用 C、Python、JavaScript 的库。

Star
9,481
Fork
564
未关闭 Issue
46
最近提交
12小时前

这是什么?

XGo 是一门从 Go 衍生而来的编程语言,采用更简洁、接近自然语言的语法。它支持命令式调用,例如 `echo "Hello"`,提供更轻量的列表、映射和 Lambda 字面量,并支持使用 `${expr}` 进行字符串插值。语法集合刻意保持精简,面向初学者、STEM 教育和数据科学场景。

XGo 代码可以与 Go 代码在同一个包中混合使用。借助 LLGo 编译器,XGo 还能调用 C/C++ 和 Python 库,项目中提供了 raylib、SQLite、PyTorch 等示例。通过 classfile 机制,可以在语言之上构建领域框架,现有框架涵盖 2D 游戏、HTTP Web 应用、命令行工具和 MCP 实现。

安装方式包括 winget、apt、yum、Homebrew,也可以从源码构建,并提供 Visual Studio Code 插件。

核心功能

  • 01命令式语法,减少括号,例如 `echo "Hi"`。
  • 02Go 与 XGo 代码可在同一个包中混用。
  • 03通过 LLGo 编译器调用 C/C++ 和 Python 库。
  • 04借助 classfile 机制在语言之上构建领域框架。
  • 05支持 winget、apt、yum、Homebrew 安装或从源码构建。

适用场景

  • 用可读性强的语法进行编程和 STEM 教学。
  • 借助 spx 引擎开发 2D 游戏或互动演示。
  • 编写无需 go.mod 文件即可运行的 shell 风格运维脚本。
  • 在调用 Python 库的基础上快速原型化数据科学流程。

快速上手

  1. 1

    安装 XGo 工具链(参考官方文档)

  2. 2

    初始化名为 hello 的模块

    xgo mod init hello
  3. 3

    创建 get.yap 文件,内容为:html `<html><body>Hello, YAP!</body></html>`

  4. 4

    运行程序并访问 http://localhost:8080

    xgo run .

使用前须知

  • 调用 C 和 Python 库需要单独的 llgo 编译器,它不是默认选项。
  • 该语言较年轻,需要在 Go 之上使用其自带的 xgo 工具链。

标签

常见问题

xgo 是什么?
XGo 是基于 Go 的编程语言,语法接近自然英语,并可调用 C、Python、JavaScript 的库。 XGo 是一门从 Go 衍生而来的编程语言,采用更简洁、接近自然语言的语法。它支持命令式调用,例如 `echo "Hello"`,提供更轻量的列表、映射和 Lambda 字面量,并支持使用 `${expr}` 进行字符串插值。语法集合刻意保持精简,面向初学者、STEM 教育和数据科学场景。
xgo 可以免费使用吗?用的什么许可证?
xgo 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
xgo 还在维护吗?
活跃维护中。xgo 最近一次提交是在 2026年10月21日。
xgo 适合用来做什么?
用可读性强的语法进行编程和 STEM 教学。 借助 spx 引擎开发 2D 游戏或互动演示。 编写无需 go.mod 文件即可运行的 shell 风格运维脚本。 在调用 Python 库的基础上快速原型化数据科学流程。
xgo 怎么安装和运行?
安装 XGo 工具链(参考官方文档) 初始化名为 hello 的模块: xgo mod init hello 创建 get.yap 文件,内容为:html `<html><body>Hello, YAP!</body></html>` 运行程序并访问 http://localhost:8080: xgo run .
在哪里获取 xgo?
源代码和安装说明在 GitHub 上:https://github.com/goplus/xgo

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目