- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在尝试将我的结果集和变量从 .Go Lang 显示到 HTML 页面。
Assuming this tree view as my workspace. 首页.HTML
<div id="Golang"><p>My Name is : <i>{{.myName}}</i></p></div>
<div id="Golang"><p>Some Random Database Test: <br>{{.Country}} {{.City}} </p></div>
db.Go
package main
import (
"database/sql"
"fmt"
"html/template"
"log"
"net/http"
_ "github.com/go-sql-driver/mysql"
)
type world struct {
Country sql.NullString `json:"country"`
State sql.NullString `json:"state"`
City sql.NullString `json:"city"`
Abbr string `json:"abbriviation"`
id int `json:"id"`
CCode int `json:"CountryCode"`
}
func main() {
name := "Sam"
dsn := "root:1234@tcp(127.0.0.1:3306)/script"
// Open database
fmt.Println("We're going to connect a MySql Db")
db, err := sql.Open("mysql", dsn)
if err != nil {
panic(err)
}
defer db.Close()
fmt.Println("Successfully connected to Mysql Db")
results, err := db.Query("SELECT * FROM CountryDb WHERE Country =?", "India")
if err != nil {
panic(err.Error())
}
for results.Next() {
var tag world
err = results.Scan(&tag.Abbr, &tag.Country, &tag.CCode, &tag.State, &tag.City)
if err != nil {
panic(err.Error())
}
log.Printf(tag.Abbr, tag.Country, tag.CCode, tag.State, tag.City)
}
}
现在我如何将我的 Go 程序的值显示到 HTML 标签。这是我的第一个 go 程序,我不太了解这种语言。我浏览了一些在线教程,但它们的编写方式并不是很有帮助。所以对此的任何帮助将不胜感激。谢谢
最佳答案
创建模板文件:
tpl.gohtml
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
</head>
<body>
<h1>The Number from Go Code is: {{.}}</h1>
</body>
</html>
还有你的main.go
package main
import (
"log"
"os"
"text/template"
)
var tpl *template.Template
func init() {
tpl = template.Must(template.ParseFiles("tpl.gohtml"))
}
func main() {
err := tpl.ExecuteTemplate(os.Stdout, "tpl.gohtml", 42)
if err != nil {
log.Fatalln(err)
}
}
在 init 函数中,您解析上面创建的模板文件。如果你有很多模板,你可以使用 ParseGlob(pattern string) (*Template, error)
但对于这个例子,你可以按名称解析模板。完成此操作后,我们执行名为 tpl.gohtml
的模板并将其打印在 Stdout
上并处理错误。
现在您可以使用 go run main.go
运行代码,您将获得以下输出:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
</head>
<body>
<h1>The meaning of life: 42</h1>
</body>
您可以看到 ExecuteTemplate()
函数的最后一个参数是您传递给模板的数据。您还可以将 slice 、映射或自行创建的复杂数据类型用于模板并对其进行迭代。
带有 slice 的 main.go
package main
import (
"log"
"os"
"text/template"
)
var tpl *template.Template
func init() {
tpl = template.Must(template.ParseFiles("tpl.gohtml"))
}
func main() {
sages := []string{"This", "is", "a", "string", "slice"}
err := tpl.Execute(os.Stdout, sages)
if err != nil {
log.Fatalln(err)
}
}
相应的模板可能是这样的
tpl.gohtml
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Slice Data</title>
</head>
<body>
<ul>
{{range $index, $name := .}}
<li>{{$index}} - {{$name}}</li>
{{end}}
</ul>
</body>
</html>
这将为您提供以下输出:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Slice Data</title>
</head>
<body>
<ul>
<li>0 - This</li>
<li>1 - is</li>
<li>2 - a</li>
<li>3 - string</li>
<li>4 - slice</li>
</ul>
</body>
如果你想用这段代码创建 html 文件,只需使用 go run main.go > outputfilename.html
关于go - 将我的 HTML 链接到 Go Lang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50016108/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!