登录
首页 >  Golang >  Go问答

如何获取 golang 中显示的 fmt.Printf 或 fmt.Prinln 行号?

来源:stackoverflow

时间:2024-04-19 13:09:35 257浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《如何获取 golang 中显示的 fmt.Printf 或 fmt.Prinln 行号?》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

请原谅我的英语。

我需要在un go应用程序中显示fmt.println的行号,因为我在许多go文件中有很多fmt.prinffmt.println。示例

package main

import "fmt"

func main() {
    fmt.printf("hello golang")
}

我希望输出像这样显示。

main.go [line 6] hello golang

即文件名、fmt.printf 的行号和消息。


解决方案


在输出中获取行号的最简单方法是将 standard log packagefile name output enabled 结合使用。

将此函数添加到您的程序中以启用文件名输出。应用程序启动时会自动调用该函数。

func init() {
    log.setflags(log.flags() | log.llongfile)
}

使用log包中的log.Printf等函数打印消息:

func main() {
    log.Printf("hello golang")
}

Run it on the playground

使用 LshortFile 而不是 LlongFile 来获得更短的文件名输出。

Run it on the playground

如果这两种格式都不能满足您的需求,请复制 code from the log package 并根据需要进行调整。

以上就是《如何获取 golang 中显示的 fmt.Printf 或 fmt.Prinln 行号?》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>