как получить код golang из общего URL-адреса play.golang.org - PullRequest
0 голосов
/ 05 июня 2018

Мне нужно прочитать код golang по ссылке play.golang.org и сохранить в файл .go.Мне интересно, есть ли публичная поддержка API для play.golang.org.Я гуглил, но никаких намеков.Кто-нибудь пробовал что-нибудь подобное?

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Есть два способа, которые я знаю, один из которых описан @ThunderCat.Еще одно простое решение - перейти по URL https://play.golang.org/p/HmnNoBf0p1z и нажать Ctrl+save на странице, где он будет загружен как файл .go.

0 голосов
/ 05 июня 2018

Чтобы получить текст программы общей игровой площадки, добавьте «.go» к URL.Например, вы можете получить текст программы в https://play.golang.org/p/HmnNoBf0p1z с помощью https://play.golang.org/p/HmnNoBf0p1z.go.

. Вы можете загрузить программу, разместив текст программы в https://play.golang.org/share. Ответом является идентификаторобщей программы.Эта программа загружает стандартный вывод на игровую площадку и печатает идентификатор загруженной программы на стандартный вывод:

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 к URL-адресу .go.Пример: https://play.golang.org/p/HmnNoBf0p1z.go?download=true

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...