为了账号安全,请及时绑定邮箱和手机立即绑定

我可以将第 3 方包导入 golang 游乐场吗

我可以将第 3 方包导入 golang 游乐场吗

Go
跃然一笑 2021-09-10 17:25:27
我用谷歌搜索但没有答案。是否可以?如果是,怎么做?Go Playground 链接:https : //play.golang.org/
查看完整描述

2 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

自 2019 年 5 月 14 日起,现在可以了(来自Brad Fitzpatrick)!


#golang 游乐场现在支持第三方导入,通过https://proxy.golang.org/拉入


例子:https : //play.golang.org/p/eqEo7mqdS9l 🎉


多文件支持和接下来的其他一些事情。

在golang/goissue 31944或在高音喇叭上报告错误。


(关于“多文件”支持,请参见自 2019 年 5 月 16 日起,“ go playground 中可能会导入哪些包? ”:参见此处的示例)


netbrain建议在评论中另一个例子:


操场上:


package main


import (

    "fmt"


    "gonum.org/v1/gonum/mat"

)


func main() {

    v1 := mat.NewVecDense(4,[]float64{1,2,3,4})

    fmt.Println(mat.Dot(v1,v1))

}

将给出“30”,mat.NewVecDense()用于创建列向量,并mat.Dot()返回和的元素乘积之v1和v1


问题的关键是:gonum/mat是不是对的一部分转到标准库。


原始答案:


关于 Go Playground 的最完整的文章仍然是“ Inside the Go Playground ”,其中提到:


godoc/static/static.go (对于 Playground 中显示的默认 go 程序)

golang/tools/playground对于源代码,通过playground/socket/socket.goPlayground 编辑器构建和执行程序。

这些进程都不支持导入远程包(可通过 Internet 访问)。

它是一个非常独立的系统(您可以在本地运行,也可以从 play.golang.org 使用它),具有多个存根或伪造的功能,例如网络:


与文件系统一样,playground 的网络堆栈是由 syscall 包实现的进程内伪造。

它允许游乐场项目使用环回接口 (127.0.0.1)。

对其他主机的请求将失败。


2017 年更新:


你有其他选择:


iafan/goplayspace

xiam/go-playground

但是他们仍然使用官方的 Go Playground 服务来构建和运行 Go 代码,因此仍然不允许外部导入。


查看完整回答
反对 回复 2021-09-10
  • 2 回答
  • 0 关注
  • 188 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信