实现一个 returns 指针的函数
Implement a function which returns a pointer
我已经在我的 golang 应用程序中实现了 syslog 守护进程服务。我在主包中使用了 syslog.New,它可以工作,但现在,我想将它导出到另一个包。
package config
import (
"log/syslog"
)
func LogBook() ? {
sysLog, _ := syslog.New(syslog.LOG_LOCAL0|syslog.LOG_ERROR, "myapp") // syslog.New returns (*Writer, error)
return ?
}
如何实现这个功能?
之后,如何在其他包中使用这个变量'sysLog'?
谢谢!
正如@Volker 所说,答案非常简单,
func LogBook() *syslog.Writer {
sysLog, _ := syslog.New(syslog.LOG_LOCAL0|syslog.LOG_ERROR, "myapp")
return sysLog
}
用法示例:
func main(){
w := LogBook()
w.Info("message")
}
请注意:
- 此包未在 Windows 上实现。由于系统日志包被冻结,Windows 鼓励用户使用标准库之外的包。有关背景,请参阅 https://golang.org/issue/1108。
- 计划 9 未实施此包。
- 此包未在 NaCl(本机客户端)上实现。
我已经在我的 golang 应用程序中实现了 syslog 守护进程服务。我在主包中使用了 syslog.New,它可以工作,但现在,我想将它导出到另一个包。
package config
import (
"log/syslog"
)
func LogBook() ? {
sysLog, _ := syslog.New(syslog.LOG_LOCAL0|syslog.LOG_ERROR, "myapp") // syslog.New returns (*Writer, error)
return ?
}
如何实现这个功能? 之后,如何在其他包中使用这个变量'sysLog'?
谢谢!
正如@Volker 所说,答案非常简单,
func LogBook() *syslog.Writer {
sysLog, _ := syslog.New(syslog.LOG_LOCAL0|syslog.LOG_ERROR, "myapp")
return sysLog
}
用法示例:
func main(){
w := LogBook()
w.Info("message")
}
请注意:
- 此包未在 Windows 上实现。由于系统日志包被冻结,Windows 鼓励用户使用标准库之外的包。有关背景,请参阅 https://golang.org/issue/1108。
- 计划 9 未实施此包。
- 此包未在 NaCl(本机客户端)上实现。