版本更新

GScriptv0.0.11
DockerStrings/StringBuilderint[] b = a[1: len(a)];

引言

GScriptplayground

GScriptXSSAPI
demo

这本质上是一个递归函数,当打印的三角层数过高时便会非常耗时,同时也非常消耗 CPU。

有几次我去检查服务器时发现了几个 CPU 过高的进程,基本上都是这样的耗时操作,不可避免的会影响到服务器的性能。

使用 Docker

Docker

说干就干,最后修改了 API 执行脚本的地方:

GScriptdocker

但其实也还有改进空间,后续新增协程之后可以便可监控运行时间,超时后便会自动 kill 进程。

DockerDockerHubGScriptREPLDocker

DockerGScript

编写 GScript 标准库

GScript

现在编译器已经提供了一些可用的内置函数,借由这些内置函数写一些常见的工具类是完全没有问题的。

GScript
StringBuilder
toByteArray/toString
Strings

在写标准库的过程中还会有额外收获,可以再次阅读一遍 Go 标准库的实现流程,换了一种语法实现出来,会加深对 Go 标准库的理解。

GScriptissue
GScriptClassnamespaceClass

本文相关资源链接