V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
iorilu
V2EX  ›  Go 编程语言

为了方便学习 go, 使用 go 做了一个命令行版本的 go playground, 代码直接一键运行, 一键编译

  •  
  •   iorilu · 20 小时 45 分钟前 · 738 次点击
    https://github.com/aizimuji/goplay



    Goplay cli

    开发原因: 学习编译语言经常要练习语法, 写小片段代码执行看结果, 检查错误等等, 但编译语言无法直接像解释语言直接执行看结果, 需要麻烦的编辑文件, 保存文件, 编译, 执行一系列流程才能执行哪怕一行代码, 非常麻烦, 往往很多人就因为这个就失去兴趣

    我做这个目的是可以最简化流程

    打开 goplay , 按`ctrl+t`, 加载模板代码, 编辑, 按`ctrl+r` 直接执行, 检查结果, 有错可以编辑反复执行, 都完成可以按`ctrl+s` 保存, 或者`ctrl+b` 直接编程成可执行文件都可以

    非常方便学习 go 语言, 当然其他语言有兴趣的可以改造下也行, 尤其适合编译语言如 rust 等

    功能特性
    分屏界面: 左侧编辑代码,右侧查看输出。
    即时执行: 一键运行 (go run) 或编译检查 (go build) 代码。
    文件管理: 轻松打开、保存和创建新文件。
    模板支持: 快速加载预定义的 .template 文件或使用内置默认模板。
    构建功能: 将代码构建为独立的可执行文件 (Ctrl+b)。
    系统剪贴板支持: 支持与系统剪贴板的复制/粘贴交互。
    编辑器工具:
    使用 go fmt 自动格式化。
    基于快照的撤销/重做。
    实时光标行号追踪。
    修改状态指示。
    内置帮助: 随时通过 F1 查看快捷键参考。


    使用指南
    直接运行可执行文件启动应用。你可以立即开始编写 Go 代码。

    快捷键列表
    快捷键 动作 说明
    Ctrl+r 运行 运行当前代码并显示输出。
    Ctrl+k 编译检查 编译代码以检查错误/成功状态。
    Ctrl+b 构建应用 将代码构建为独立的可执行文件。
    Ctrl+f 格式化 使用 go fmt 格式化代码。
    Ctrl+s 保存 保存当前代码到文件。
    Ctrl+o 打开 打开现有文件。
    Ctrl+n 新建 清空编辑器以创建新文件。
    Ctrl+t 模板 加载模板 (自定义或默认)。
    Ctrl+l 清空 清空编辑器内容。
    Ctrl+z 撤销 撤销上一步操作。
    Ctrl+y 重做 重做上一步操作。
    Ctrl+q 退出 退出应用程序。
    Ctrl+c 复制 将选中的文本复制到系统剪贴板。
    F1 / Alt+h 帮助 显示快捷键帮助窗口。
    F2 / Alt+[ 缩小窗口 减小左侧编辑器窗口宽度。
    F3 / Alt+] 扩大窗口 增加左侧编辑器窗口宽度。
    Esc 关闭 关闭弹窗或帮助菜单。
    详细功能说明
    1. 模板功能 (Template)
    按 Ctrl+t 加载模板。

    默认模板: 如果当前工作目录下没有 .template 文件,程序将加载内置的 "Hello Goplay" 示例代码。
    自定义模板: 在当前目录下创建一个名为 .template 的文件,即可使用你自己的样板代码。
    2. 编译与构建 (Compile & Build)
    编译检查 (Ctrl+k): 仅执行编译过程以检查语法错误,不生成文件。
    构建应用 (Ctrl+b): 会提示你输入输出文件名,然后在当前目录(或指定的工作目录)生成 .exe (Windows) 或二进制文件。
    3. 窗口调整 (Adjust Window)
    你可以调整左右分屏的比例:

    按 F2 (或 Alt+[) 向左收缩编辑器,增大输出窗口。
    按 F3 (或 Alt+]) 向右扩展编辑器,减小输出窗口。
    4. 复制与粘贴 (Copy & Paste)
    复制: 在编辑器中选中文本,按 Ctrl+c 将其复制到系统剪贴板。
    注意: 只有当编辑器拥有焦点时 Ctrl+c 才会执行复制,否则它不会退出程序。
    粘贴: 使用系统标准的粘贴快捷键(如 Ctrl+v 或终端右键粘贴)将代码粘贴到编辑器中。
    5. 退出程序 (Quit)
    使用 Ctrl+q 安全退出应用程序。
    iorilu
        1
    iorilu  
    OP
       20 小时 40 分钟前
    程序完全由 antigravity, gemini pro3 开发

    我用的初始提示词 也在仓库里 prompt.txt

    有兴趣可以参考, 感觉 go 确实很适合开发命令行小程序, 尤其现在一些 TUI 界面库做的很不多了, 包括功能和美观上面
    sn0wdr1am
        2
    sn0wdr1am  
       13 小时 22 分钟前
    https://go.dev/play/

    也能凑合用
    iorilu
        3
    iorilu  
    OP
       13 小时 19 分钟前
    @sn0wdr1am 这当然

    如果本地没装 go, 用 web 的还行

    但 web 程序总是慢的, 用起来总是不爽快

    所以我搞了个本地版本的 , 执行起来效率高很多, 非常适合出学者练习语法, 写一点小程序, 自带模板, 一键执行, 编译检查错误等等

    必要也可以一键编译啥的
    iorilu
        4
    iorilu  
    OP
       13 小时 9 分钟前
    提示

    已安装 go 的可以通过命令一键安装

    go install github.com/aizimuji/goplay@latest

    然后命令行执行 goplay , 即可开始使用
    lysShub
        5
    lysShub  
       12 小时 24 分钟前
    这种情况,我一般在 test 里面验证
    vultr
        6
    vultr  
       12 小时 5 分钟前
    你强,三年前我计划重写 json 的序列化反序列化,到现在还是在用标准库。
    iorilu
        7
    iorilu  
    OP
       11 小时 13 分钟前
    @vultr 反正都是 AI 写的代码, 现在 AI 做这种命令行程序用 go 或 rust 确实合适

    基本不写一行代码就搞出来了, 效果还很不错

    反正我打算用这个把 gobyexample 里面代码都敲一遍
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   896 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 23:07 · PVG 07:07 · LAX 15:07 · JFK 18:07
    ♥ Do have faith in what you're doing.