Skip to content
forked from goplus/gop

Go+ 编程语言专为工程、STEM 教育和数据科学而设计

License

Notifications You must be signed in to change notification settings

yuanzhongqiao/gop-cn

 
 

Repository files navigation

构建状态 去报告卡 覆盖状态 GitHub 发布 不和谐

我们的愿景是让每个人都能创建生产级应用程序

简单易学

  • 简单易懂
  • 最佳实践中的语法集比 Python 更小

为大型项目做好准备

  • 源自Go,良好的工程基础易于构建大型项目

Go+ 编程语言专为工程、STEM 教育和数据科学而设计。

  • 对于工程:使用儿童可以掌握的最简单的语言进行工作。
  • 对于STEM教育:学习一种可以在未来工作中使用的工程语言。
  • 对于数据科学:用同一种语言与工程师交流。

更多详细信息,请参见快速入门

命令样式代码

与大多数语言的函数调用风格不同,Go+推荐命令风格的代码:

println "Hello world"

为了强调我们对命令风格的偏好,我们引入echo以下命令作为别名println

echo "Hello world"

有关编码风格的更多讨论,请参阅https://tutorial.goplus.org/hello-world

Go+ 类文件

One language can change the whole world.
Go+ is a "DSL" for all domains.

Rob Pike 曾经说过,如果他只能向 Go 引入一项功能,他会选择interface而不是goroutine。对于 Go+来说和 Go 一样classfile重要。interface

在Go+的设计理念中,我们不推荐DSL(Domain Specific Language)。但是SDF(特定领域友好性)非常重要。Go+ 的哲学是SDF

Don't define a language for specific domain.
Abstract domain knowledge for it.

Go+ 引入classfile了抽象领域知识。

听起来有点抽象?让我们看看一些 Go+ 类文件。

spx:Go+ 2D 游戏引擎

屏幕截图1 屏幕截图2

通过这个例子你可以学习如何实现多个演员之间的对话。

以下是Kai.spx中的一些代码:

onStart => {
	say "Where do you come from?", 2
	broadcast "1"
}

onMsg "2", => { say "What's the climate like in your country?", 3 broadcast "3" }

我们打电话onStartonMsg聆听事件。onStart程序启动时被调用。onMsg当有人呼叫broadcast广播消息时被呼叫。

节目开始后,凯说道Where do you come from?,然后广播了这条消息1。谁会收到此消息?让我们看看Jaime.spx中的代码:

onMsg "1", => {
	say "I come from England.", 2
	broadcast "2"
}

是的,詹姆收到消息1后说道I come from England.。然后他广播了这条消息2。凯接过,说道What's the climate like in your country?

以下过程非常相似。通过这种方式,您可以实现多个演员之间的对话。

有关更多详细信息,请参阅spx:Go+ 2D 游戏引擎

yap:另一个 HTTP Web 框架

提供静态文件和处理动态 GET/POST 请求的能力的演示:

static "/foo", FS("public")
static "/"    # Equivalent to static "/", FS("static")

get "/p/:id", ctx => { ctx.json { "id": ctx.param("id"), } }

run ":8080"

如果运行它并访问http://localhost:8080/p/123,您将得到:

{"id":"123"}

有关更多详细信息,请参阅yap:另一个 HTTP Web 框架

gsh:Go+ DevOps 工具

是的,现在你可以shell script用 Go+ 编写了。它支持所有 shell 命令。

让我们创建一个名为的文件./example.gsh并写入以下代码:

mkdir "testgsh"

不需要go.mod文件,gop run ./example.gsh直接输入即可运行。

有关更多详细信息,请参阅gsh:Go+ DevOps 工具

Go+ 的主要特点

如何安装

在 Windows 上

winget install goplus.gop

在 Debian/Ubuntu 上

sudo bash -c ' echo "deb [trusted=yes] https://pkgs.goplus.org/apt/ /" > /etc/apt/sources.list.d/goplus.list'
sudo apt update
sudo apt install gop

在 RedHat/CentOS/Fedora 上

sudo bash -c 'echo -e "[goplus]\nname=Go+ Repo\nbaseurl=https://pkgs.goplus.org/yum/\nenabled=1\ngpgcheck=0" > /etc/yum.repos.d/goplus.repo'
sudo yum install gop

在 macOS/Linux(自制)上

通过brew安装

$ brew install goplus

从源代码

注意:需要go1.18或更高版本

git clone https://github.com/goplus/gop.git
cd gop

# On mac/linux run: ./all.bash # On Windows run: all.bat

Go+应用程序

由 Go+ 提供支持的 2D 游戏

网页编程

开发运营工具

数据处理

IDE插件

贡献

Go+ 项目欢迎所有贡献者。我们感谢您的帮助!

有关更多详细信息,请参阅贡献和编译器设计

给一颗星!⭐

如果您喜欢或正在使用 Go+ 来学习或启动您的项目,请给它一颗星。谢谢!

About

Go+ 编程语言专为工程、STEM 教育和数据科学而设计

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.8%
  • Other 0.2%