go中log函数怎么写_Go语言函数深度解析(中)

上回函数深度解析给大家聊了一些函数的基本知识,不知道还有没有人记得,不记得赶紧回去复习!

他们是

  • go语言中函数的基本原理
  • 单/多个同/不同类型参数
  • 单/多个同/不同类型返回值
  • 值传递,引用传递
  • 函数进阶,把函数当作变量传递(在不改变函数内部结构的情况下传入新的实现)
匿名函数

话不多说,今天小熊就带各位家人感受下go语言函数中的高级语法。

在前面的文章里我们学会了把函数当作变量传递,可以在不改动原有函数内部实现的情况下,改变函数实现细节(设计模式:装饰器)。

这种情况下的作为变量传递的函数往往只有这一个地方用到了,其他地方不会重复使用。那就没必要单独定义一个函数在外面!(多此一举的事本熊不做!)

like this:

func functionValue(a, b int,
    do func(int, int) int) {
 fmt.Println(do(a, b))
}

//使用匿名函数的方法调用他 实现匿名加函数
funcationValue(1,2,func(a,b int) int{
return a+
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现每天新建log文件并储存log,可以使用`daily_logger`,它是spdlog库提供的另一个日志记录器。 下面是一个使用`daily_logger`的示例: ```cpp #include <spdlog/spdlog.h> #include <spdlog/sinks/daily_file_sink.h> int main() { auto daily_logger = spdlog::daily_logger_mt("daily_logger", "logs/daily.log", 0, 0); daily_logger->info("This is a daily logger message"); return 0; } ``` 在上面的示例,我们创建了一个名为`daily_logger`的日志记录器,并使用`daily_file_sink`作为日志输出。日志信息会被入到`logs/daily.log`文件,并在每天的零点自动创建一个新的日志文件。第三个参数是日志文件的滚动时间(单位为小时),在上面的示例我们设置为0,表示在每天的零点滚动日志文件。第四个参数是日志文件的最大数量,我们也将其设置为0,表示不限制日志文件数量。 需要注意的是,使用`daily_logger`时,要注意时区的设置,否则可能因为时区不同而导致日志滚动的时间不正确。可以使用`spdlog::set_pattern()`和`spdlog::set_time_zone()`函数来设置日志的格式和时区。例如,要将时区设置为东8区,可以这样: ```cpp #include <spdlog/spdlog.h> #include <spdlog/sinks/daily_file_sink.h> int main() { auto daily_logger = spdlog::daily_logger_mt("daily_logger", "logs/daily.log", 0, 0); spdlog::set_pattern("[%Y-%m-%d %H:%M:%S.%e %z] [%^%l%$] %v"); spdlog::set_time_zone(spdlog::details::make_unique<spdlog::sinks::localtime_zone>()); daily_logger->info("This is a daily logger message"); return 0; } ``` 在上面的示例,我们使用`spdlog::set_pattern()`函数设置日志的格式,使用`spdlog::set_time_zone()`函数将时区设置为本地时区。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值