私はグーグルで検索しましたが、答えがありませんでした。出来ますか?はいの場合、それを行う方法は?
Go Playgroundリンク: https://play.golang.org/
2019年5月14日以降、 現在可能 ( Brad Fitzpatrick から)!
#golangプレイグラウンドは、サードパーティのインポートをサポートするようになり、 https://proxy.golang.org/ を介してそれらをプルします。
例: https://play.golang.org/p/eqEo7mqdS9l ????
マルチファイルのサポートと他のいくつかのことは次にあります。
バグを報告する _golang/go
_ issue 31944 、またはここツイーターで。
(「複数ファイル」サポートについては、2019年5月16日以降、「 どのパッケージを移動プレイグラウンドにインポートできますか?」を参照してください。 ": ここの例 を参照)
遊び場で:
_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))
}
_
mat.NewVecDense()
を使用して列ベクトルを作成し、 mat.Dot()
を使用して要素の合計を返す、「30」を指定します- _v1
_と_v1
_の賢明な積
重要なのは: _gonum/mat
_ はではなくGo Standard Library の一部です。
元の回答:
GoPlaygroundに関する最も完全な記事は " Inside the Go Playground "のままで、次のように記載されています。
godoc/static/static.go
_ (遊び場に表示されるデフォルトのgoプログラムの場合)golang/tools/playground
_ ソースの場合、 _playground/socket/socket.go
_ プレイグラウンドエディターからプログラムをビルドして実行します。これらのプロセスはいずれも、リモートパッケージ(インターネット経由でアクセスされる)のインポートをサポートしていません。
これは非常に自己完結型のシステムであり(ローカルで実行することも、play.golang.orgから使用することもできます)、ネットワークのように複数の機能がスタブまたは偽造されています。
ファイルシステムと同様に、遊び場のネットワークスタックは、syscallパッケージによって実装されたインプロセスの偽物です。
プレイグラウンドプロジェクトがループバックインターフェイス(127.0.0.1)を使用できるようにします。
他のホストへのリクエストは失敗します。
2017年の更新:
選択肢があります:
ただし、公式のGo Playgroundサービスを使用してGoコードをビルドおよび実行しているため、外部からのインポートは許可されません。
私はそれを自分で試していませんが xiam/go-playground これが可能であることを示しています:
カスタムパッケージのインポート
プレイグラウンドユーザーは、Go標準ライブラリの一部ではないパッケージをインストールまたは使用できないことに注意してください。特別なパッケージを紹介する場合は、サンドボックスの上にわずかに異なるDockerイメージを作成する必要があります。 unsafebox.。
(Dockerfileを変更してこれを行う方法の例が続きます。)
これは、xiam/go-playgroundプロジェクトに示されているように、コンパイルがカスタムサンドボックス内で実行される(または少なくとも実行できる)ことを示しているように見えます。したがって、これが可能になります(@VonCの回答で示されているようにplay.golang.orgは必要ありません)。 )。
これを自分でテストする機会があれば、この回答をより詳細に更新します。