先创建HTTP服务器并注册路由,定义留言结构体与内存存储,通过表单提交添加留言,使用html/template渲染页面,最终实现一个可展示和提交留言的Web应用。

开发一个留言板应用在Golang中是一个很好的入门项目,能帮助你掌握HTTP服务、路由处理、数据存储和模板渲染等核心技能。下面是一个简单但完整的实现思路和步骤。
搭建基础HTTP服务器
Go语言内置了强大的net/http包,可以快速启动一个Web服务器。
先创建一个main函数,注册路由并启动服务:
package mainimport ( "net/http")func main() { http.HandleFunc("/", listMessages) http.HandleFunc("/add", addMessage) http.ListenAndServe(":8080", nil)}
这里注册了两个接口:显示留言列表和添加新留言。
立即学习“go语言免费学习笔记(深入)”;
定义数据结构与存储
留言板的核心是消息内容。我们可以用一个结构体来表示一条留言:
type Message struct { ID int Name string Content string}
为了简化,使用切片作为临时存储(生产环境建议用数据库):
var messages = []Message{}var nextID = 1
每次添加新留言时递增ID。
处理添加留言请求
addMessage函数负责接收POST请求中的表单数据,并保存到内存中:
func addMessage(w http.ResponseWriter, r *http.Request) { if r.Method == "POST" { name := r.FormValue("name") content := r.FormValue("content") messages = append(messages, Message{ ID: nextID, Name: name, Content: content, }) nextID++ http.Redirect(w, r, "/", http.StatusSeeOther) return } // 如果不是POST,跳转到首页 http.Redirect(w, r, "/", http.StatusFound)}
展示留言列表(HTML模板)
使用Go的html/template包来渲染页面:
创建一个templates/index.html文件:
留言板
所有留言
{{range .}}{{.Name}} (ID: {{.ID}}){{end}}
{{.Content}}
然后在listMessages中加载并执行模板:
func listMessages(w http.ResponseWriter, r *http.Request) { tmpl := template.Must(template.ParseFiles("templates/index.html")) tmpl.Execute(w, messages)}
运行与测试
确保目录结构如下:
main.gotemplates/index.html
运行程序:
go run main.go
访问 http://localhost:8080 即可看到留言板界面。
基本上就这些。功能完整且易于理解。你可以在此基础上扩展:加入删除功能、使用SQLite存储、添加时间戳、支持CSS美化页面等。Go的简洁性让这类小项目非常高效。
以上就是如何在Golang中开发留言板应用的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1413543.html
微信扫一扫
支付宝扫一扫