我需要从play.golang.org链接读取golang代码并保存到.go文件。我想知道是否有对play.golang.org的公共API支持。我用谷歌搜索了一下,但没有任何提示。有没有人尝试过类似的事情?
发布于 2018-06-05 08:36:56
要获取共享游乐场程序的文本,请将".go“附加到URL。例如,您可以使用https://play.golang.org/p/HmnNoBf0p1z.go在https://play.golang.org/p/HmnNoBf0p1z上获取程序的文本。
您可以通过将程序文本发布到https://play.golang.org/share来上载程序。响应是共享程序的ID。该程序将stdin上传到操场,并将上传程序的ID打印到stdout:
package main
import (
"io"
"log"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("POST", "https://play.golang.org/share", os.Stdin)
if err != nil {
log.Fatal(err)
}
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
io.Copy(os.Stdout, resp.Body)
}
假设上面的程序在upload.go中,下面的外壳脚本打印HmnNoBf0p1z
。
go run upload.go << EOF
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello, playground")
}
EOF
如果您希望使用浏览器将程序作为文件下载,则将查询?download=true
添加到.go URL。示例:https://play.golang.org/p/HmnNoBf0p1z.go?download=true
发布于 2018-06-05 14:08:59
我知道有两种方式,其中一种是@ThunderCat所描述的。另一个简单的解决方案是转到URL https://play.golang.org/p/HmnNoBf0p1z,然后在页面上按Ctrl+save
,它将以.go
文件的形式下载。
https://stackoverflow.com/questions/50690446
复制相似问题