Pointers 实现一个返回指针的函数

Pointers 实现一个返回指针的函数,pointers,go,syslog,Pointers,Go,Syslog,我已经在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)

我已经在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上实现。由于syslog包已冻结,因此鼓励Windows用户使用标准库之外的包。有关背景信息,请参见
  • 计划9中未实施此包
  • 此包未在NaCl(本机客户端)上实现

一个*syslog.Writer如何?真正的问题是什么,因为答案太明显了。如果我问这个问题,那是因为我是golang的新手,答案对我来说并不明显。。。我不知道如何编写函数。如果是新手,最好的建议是参加两次围棋之旅,然后阅读有效围棋。谢谢@Elad。这正是我第一次做的,但之后,我没有在我的主函数中使用变量,例如sysLog.Info(“message”):SI edited。在任何情况下,你都应该听从@Volker的建议,参加巡回演出。是的,他有理由。