run - start go project
¿Puedo importar un paquete de terceros en golang playground? (2)
Busqué en Google pero no obtuve respuesta. ¿Es posible? Si es así, ¿cómo hacerlo?
Enlace de Go Playground: https://play.golang.org/
Desde el 14 de mayo de 2019, ahora es posible (de Brad Fitzpatrick ).
El #golang playground ahora es compatible con las importaciones de terceros, ingresándolas a través de https://proxy.golang.org/
Ejemplo: https://play.golang.org/p/eqEo7mqdS9l 🎉
Soporte para archivos múltiples y algunas otras cosas a continuación.
Reporte los errores engolang/go
número 31944 , o aquí en los tweeters.
(En el soporte de "archivos múltiples" , vea, desde el 16 de mayo de 2019, " ¿Qué paquetes se pueden importar en el campo de juegos de Go? ": Vea un ejemplo aquí )
netbrain sugiere en los comentarios otro example :
En el área de juegos:
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))
}
doy ''30'', usando mat.NewVecDense()
para crear un vector de columna, y mat.Dot()
para devolver la suma del producto de v1
y v1
El punto es: gonum/mat
no es parte de la biblioteca estándar de Go .
Respuestas originales:
El artículo más completo sobre Go Playground sigue siendo " Inside the Go Playground ", que menciona:
-
godoc/static/static.go
(para el programa go predeterminado que se muestra en el patio de recreo) -
golang/tools/playground
para las fuentes, conplayground/socket/socket.go
construyendo y ejecutando el programa desde el editor de juegos.
Ninguno de esos procesos admite la importación de un paquete remoto (al que se podría acceder a través de Internet).
Es en gran medida un sistema autocontenido (que puede ejecutarse localmente y también usarlo desde play.golang.org), con múltiples características aplastadas o falsificadas, como la red:
Al igual que el sistema de archivos, la pila de la red del patio de recreo es un falso en proceso implementado por el paquete syscall.
Permite que los proyectos de juegos usen la interfaz de bucle invertido (127.0.0.1).
Las solicitudes a otros hosts fallarán .
Actualización 2017:
Tienes alternativas:
Pero todavía usan el servicio oficial Go Playground para compilar y ejecutar el código Go, por lo que aún no permitirían las importaciones externas.
No lo he probado, pero xiam/go-playground indica que esto es posible:
Importando paquetes personalizados
Recuerde que los usuarios del patio de recreo no podrán instalar ni usar paquetes que no formen parte de la biblioteca estándar de Go, en caso de que desee mostrar un paquete especial, tendrá que crear una imagen docker ligeramente diferente en la parte superior de la zona de pruebas o la caja de seguridad ...
(Seguido de un ejemplo de cómo hacer esto con una modificación de Dockerfile).
Esto parece indicar que la compilación se realiza (o al menos se puede realizar) dentro de un arenero personalizado como se muestra en el proyecto xiam / go-playground, lo que lo hace posible (no requiere play.golang.org como lo indica la respuesta de @VonC) ).
Si tengo la oportunidad de probar esto, actualizaré esta respuesta con más detalle.