golang 打印16进制

在Go语言中,打印16进制数是一种常见的需求,通常用于调试或展示数据的特定格式。Go语言提供了丰富的库和方法来实现这个功能,下面我们将详细介绍如何在Go语言中打印16进制数。
使用fmt.Printf函数打印16进制数
Go语言中可以使用fmt.Printf函数来打印16进制数,其中使用%#x作为输出格式进行打印。我们可以通过以下示例来演示:
package main
import "fmt"
func main() {
num := 2021
fmt.Printf("十进制数%d对应的16进制数为:%#x\n", num, num)
}
运行上述代码,将得到输出:
十进制数2021对应的16进制数为:0x7e5
在上面的示例中,我们定义了变量num为2021,然后使用fmt.Printf函数打印出num的对应的16进制数。
使用strconv.FormatInt函数打印16进制数
除了使用fmt.Printf函数外,Go语言还提供了strconv.FormatInt函数来将整数转换为16进制字符串。我们可以通过以下示例来演示:
package main
import (
"fmt"
"strconv"
)
func main() {
num := 2021
hexStr := strconv.FormatInt(int64(num), 16)
fmt.Printf("十进制数%d对应的16进制数为:%s\n", num, hexStr)
}
运行上述代码,将得到输出:
十进制数2021对应的16进制数为:7e5
在上面的示例中,我们同样定义了变量num为2021,然后使用strconv.FormatInt函数将num转换为16进制字符串,并打印出来。
使用strconv.FormatUint函数打印无符号整数的16进制数
如果想要打印无符号整数的16进制数,我们可以使用strconv.FormatUint函数。以下示例演示了如何将无符号整数转换为16进制字符串:
package main
import (
"fmt"
"strconv"
)
func main() {
num := uint64(2021)
hexStr := strconv.FormatUint(num, 16)
fmt.Printf("无符号整数%d对应的16进制数为:%s\n", num, hexStr)
}
运行上述代码,将得到输出:
无符号整数2021对应的16进制数为:7e5
在上面的示例中,我们定义了无符号整数num为2021,并使用strconv.FormatUint函数将其转换为16进制字符串,然后打印出来。
结语
本文介绍了在Go语言中打印16进制数的几种方法,包括使用fmt.Printf函数、strconv.FormatInt函数以及strconv.FormatUint函数。通过这些方法,我们可以方便地将整数转换为16进制字符串并打印出来,满足日常开发和调试的需求。
极客笔记