An alternative implementation of Golang specs, written in Rust for embedding or wrapping.
Last updated Jun 30, 2026
1.5k
Stars
58
Forks
4
Issues
0
Stars/day
Attention Score
76
Language breakdown
Rust 64.2%
Go 35.8%
▸ Files
click to expand
README
Goscript
An alternative implementation of Golang specs, written in Rust for embedding or wrapping.
NOTE: https://volang.dev/ (repo) is the successor to this project. This project is no longer maintained.
Website
What
- In other words, it's just another flavor of Go.
- It's designed to work with other Rust code in the case where you want to offer the users of your library/app the ability to use a "simpler" language to call the native (Rust) code, like what Lua is for Redis/WoW, or Python for NumPy/Sublime Text.
Why
- It's native to Rust, and your Rust project is looking for a scripting language.
- Go is nice and easy and you are familiar with it.
- To Rust programmers, it should be very well understood that compiler helps, as a strictly typed language, Goscript's type checker helps a lot compared to dynamically type languages, especially when your codebase gets larger.
How
Goscript Internals I: Overview
When
- This readme update serves as an alpha release announcement.
- Almost all the language features are implemented as per the specs(pre-1.18, i.e. excluding generics).
- Part of the standard library is ported, which is not fully working.
- There are still a lot of work to be done besides libraries, like API cleanup, Documentation, and a lot more test cases.
- Overall it's considered buggy although it passes dozens of test cases.
- A beta release is expected in about a year from now.
Who
- email:
pb01005051at Gmail. - discord: join
FAQ
- Is this a new language?
- Why not a new language?
- Why not just use Python/Lua (with Rust)?
- Is Goscript fast/slow?
- Does Goscript support multi-threading/parallelization?
- When can we actually use Goscirpt?
- How can I help?
Just want to see if it does run Go code
- Make sure your Rust installation is up to date.
- Clone this repository.
- Go to goscript/engine
- Put whatever you want in temp.gos
- Run
cargo test temp -- --nocapture - Or it should be trivial to make an executable that runs Go code following test.rs
- Your code doesn't run? sorry, you can take a look at what do run in the test folder.
GoscriptReadme中文版
Go语言规范非的官方实现,用于Rust项目的内嵌或封装。
网站
啥?
- 简单地说,它是另一个风味的Go语言。
- 其作用是用于其他的Rust项目,有时候你需要用一个更简单的语言封装和调用底层的Rust代码。就像Lua之于Redis/WoW,或者Python之于NumPy/Sublime Text。
为?
- 当你的Rust项目需要一个用Rust写的脚本语言。
- Go语言简单易学且已经被广泛使用。
- Rust程序员应该已经体会到编译器是编程助手,作为一个严格类型的语言,Goscript相对于其他动态语言更能帮你写好程序,特别是代码量变大的时候。
咋?
时?
- 本次readme更新可以看作是alpha版本发布。
- 几乎所有的语言特性都实现了(pre-1.18版本,即不包含范型)。
- 移植了部分官方库,且这部分也没完全好。
- 还有很多其他工作要做,比如API整理,文档,大量完备的测试用例等。
- 总体上bug可能还不少,但是已经能通过很多测试用例。
- 预期在一年以内发布beta版本。
谁?
- email:
pb01005051at Gmail. - discord: 加入
问
- 这是个新语言吗?
- 为什么不弄个新语言?
- 为什么不直接用 Python/Lua (在Rust项目中)?
- Goscript快吗/慢吗?
- Goscirpt支持多线程/并行吗?
- 什么时候能真正用?
- 可以怎么参与项目?
就想跑点Go代码试试
🔗 More in this category