我需要从play.golang.org链接中读取golang代码并保存到.go文件中。我想知道play.golang.org是否有任何公共API支持。我用Google搜索但没有提示。有没有人尝试类似的东西?
答案 0 :(得分:5)
要获取共享游乐场程序的文本,请在URL中附加“.go”。例如,您可以使用https://play.golang.org/p/HmnNoBf0p1z https://play.golang.org/p/HmnNoBf0p1z.go获取该计划的文字。
您可以通过将程序文本发布到https://play.golang.org/share来上传程序。响应是共享程序的ID。该程序将stdin上传到游乐场并将上传的程序的ID打印到stdout:
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中,则以下shell脚本将打印HmnNoBf0p1z
。
go run upload.go << EOF
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello, playground")
}
EOF
如果要使用浏览器将程序下载为文件,请将查询?download=true
添加到.go URL。示例:https://play.golang.org/p/HmnNoBf0p1z.go?download=true
答案 1 :(得分:2)
我知道有两种方法是由@ThunderCat描述的。另一个简单的解决方案是转到网址https://play.golang.org/p/HmnNoBf0p1z并在页面上按 // Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
// Prepare an insert statement
$sql = "INSERT INTO tablename (name, email) VALUES (?, ?)";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "ss", $name, $email);
// Set parameters
$name = $_REQUEST['name'];
$email = $_REQUEST['email'];
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
echo "Records inserted successfully.";
} else{
echo "ERROR: Could not execute query: $sql. " . mysqli_error($link);
}
} else{
echo "ERROR: Could not prepare query: $sql. " . mysqli_error($link);
}
// Close statement
mysqli_stmt_close($stmt);
// Close connection
mysqli_close($link);
?>
,它将作为Ctrl+save
文件下载。