Ответ 1
С 14 мая 2019 года это стало возможным (от Брэда Фицпатрика)!
Игровая площадка #golang теперь поддерживает сторонний импорт, добавляя его через https://proxy.golang.org/
Пример: https://play.golang.org/p/eqEo7mqdS9l 🎉
Поддержка нескольких файлов и еще немного других вещей.
Сообщайте об ошибках вgolang/go
31944 или здесь, в твитерах.
(О поддержке "нескольких файлов" см., Начиная с 16 мая 2019 года, " Какие пакеты могут быть импортированы на игровой площадке go? ": См. Пример здесь)
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))
}
woud дают '30', используя mat.NewVecDense()
чтобы создать вектор столбца, и mat.Dot()
чтобы возвратить сумму поэлементного произведения v1
и v1
Дело в том, что gonum/mat
не является частью стандартной библиотеки Go.
Оригинальные ответы:
Самая полная статья о Go Playground остается " Внутри 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, так что это по-прежнему не допускает внешнего импорта.