gpt4 book ai didi

go - 包依赖和初始化

转载 作者:IT王子 更新时间:2023-10-29 00:45:36 24 4
gpt4 key购买 nike

我是 Go 的新手,正在尝试找到以下问题的解决方案。

  1. 目标是将所有日志写入文件。
  2. package main 导入包A.
  3. 在 main 包中,在 main 方法中,日志记录设置为写入文件
  4. 包A有一个初始化函数。在A的init函数中,有一行日志——log.Fatal("I am package A")。
  5. 由于主包导入了 A,所以首先调用了 A 的 init 函数(甚至在我们有机会设置日志以写入文件之前)。

如何解决此问题以便将日志“我是程序包 A”写入文件?

最佳答案

将日志初始化移出到 log 包中,该包由 mainA 导入并且不直接或间接依赖于部分您要在初始化期间记录到文件的应用程序。来自 Effective Go 中 init order 的描述和 the spec ,这应该足以确保首先初始化您的日志记录。

关于go - 包依赖和初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23575687/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com