使用 Go 包中的私有 "lowercase" 函数
Using the private "lowercase" functions from a Go package
我正在尝试在我的 main
包中使用以下功能:
html.go (from blackfriday):
func doubleSpace(out *bytes.Buffer) {
if out.Len() > 0 {
out.WriteByte('\n')
}
}
main.go:
func (options *renderer) Paragraph(out *bytes.Buffer, text func() bool) {
marker := out.Len()
doubleSpace(out)
out.WriteString("<p class='custom'>")
if !text() {
out.Truncate(marker)
return
}
out.WriteString("</p>\n")
}
我试过 blackfriday.doubleSpace
和 blackfriday.DoubleSpace
但在这三种情况下我得到 undefined
.
正确的做法是什么?
你不能。这是 blackfriday 的作者深思熟虑的决定。你唯一的选择是定义你自己的函数来做同样的事情。就好像用Java这样的语言访问私人会员一样。
我正在尝试在我的 main
包中使用以下功能:
html.go (from blackfriday):
func doubleSpace(out *bytes.Buffer) {
if out.Len() > 0 {
out.WriteByte('\n')
}
}
main.go:
func (options *renderer) Paragraph(out *bytes.Buffer, text func() bool) {
marker := out.Len()
doubleSpace(out)
out.WriteString("<p class='custom'>")
if !text() {
out.Truncate(marker)
return
}
out.WriteString("</p>\n")
}
我试过 blackfriday.doubleSpace
和 blackfriday.DoubleSpace
但在这三种情况下我得到 undefined
.
正确的做法是什么?
你不能。这是 blackfriday 的作者深思熟虑的决定。你唯一的选择是定义你自己的函数来做同样的事情。就好像用Java这样的语言访问私人会员一样。