go - 引用未定义的标识符 bytes.ReplaceAll
问题描述
我正在尝试构建一个简单的网络服务器。我想全部替换\n
为<br>
. 我想使用bytes
它,因为我的页面正文存储为[]byte
.
我用bytes.ReplaceAll()
这个。但它一直说它是对未定义标识符的引用。
有人能告诉我为什么吗?我在在线编译器中尝试了完全相同的行,它工作得很好。我想念图书馆吗?
请参阅下面的代码:
import (
"bytes"
"html/template"
"io/ioutil"
"log"
"net/http"
"regexp"
)
type Page struct {
Title string
Body []byte
}
func editHandler(w http.ResponseWriter, r *http.Request, title string) {
p, err := loadPage(title)
if err != nil {
p = &Page{Title: title}
}
// THE LINE THAT CAUSES TROUBLE
p.Body = bytes.ReplaceAll(p.Body, []byte("\n"), []byte("<br>"))
renderTemplate(w, "edit", p)
}
解决方案
该软件包是标准库的一部分,因此如果您有可用的工具bytes
,您不太可能没有它。go
但请注意,这bytes.ReplaceAll()
是在Go 1.12中添加的,因此如果您有较旧的 Go SDK,您将无法使用此功能。
执行go version
以找出。从官网获取最新的 Go:https ://golang.org/dl/
推荐阅读
- python - 如何在 Python 中从数据框中加载特征和标签?
- linux - X11 连接因身份验证错误而被拒绝 - 从服务器以 root 用户身份运行应用程序
- jenkins - 本地 Windows Jenkins 代理连接问题
- python - 在根据最大列值理解行的同时查找具有最高值的行的列名
- html - 当我使用transform translate时,我的边框高度增加了1px,如何解决?
- javascript - Discord bot 返回奇怪的错误消息并且不播放声音
- php - 递归函数结果未正确排序 PHP
- python - 尝试使用 BeautifulSoup 在 Python 中获取 span 的内容
- c++ - 与互斥锁相比,自旋锁能保证上下文切换吗
- reactjs - 从 React with apollo 移植到 Gatsby