Go语言占位符的使用

 更新时间:2024年08月16日 11:24:31   作者:南歌EuanSu  
本文主要介绍了Go语言占位符的使用,字符串占位符在fmt包的各种打印函数中使用,下面就一起来介绍一下,感兴趣的可以了解一下

Golang 的字符串占位符在 fmt 包的各种打印函数中使用,如 fmt.Printffmt.Sprintf

变量值与类型的打印

%v: 打印变量的值

  • %v 会根据变量的类型选择合适的格式进行打印。
  • 对于结构体,%v 会打印出结构体的字段。
  • 对于指针类型,会打印出指针指向的值。

%T: 打印变量的类型

  • %T 会打印出变量的具体类型。
x := 42
y := "hello"
z := 3.14
fmt.Printf("x: %v, 类型: %T\n", x, x)
fmt.Printf("y: %v, 类型: %T\n", y, y)
fmt.Printf("z: %v, 类型: %T\n", z, z)

运行如上代码,输出

x: 42, 类型: int
y: hello, 类型: string
z: 3.14, 类型: float64

整数

%d 十进制表示
%b 二进制表示
%o 八进制表示
%x%X 十六进制表示(%x 小写字母、%X 大写字母)

n := 42
fmt.Printf("十进制: %d\n", n)
fmt.Printf("二进制: %b\n", n)
fmt.Printf("八进制: %o\n", n)
fmt.Printf("十六进制(小写): %x\n", n)
fmt.Printf("十六进制(大写): %X\n", n)

运行如上代码,输出

十进制: 42
二进制: 101010
八进制: 52
十六进制(小写): 2a
十六进制(大写): 2A

浮点数和整数

%f 有小数点的十进制表示
%e%E 科学计数法
%g, %G: 根据情况选择 %f 或 %e (%g 使用小写字母,%G 使用大写字母)

f := 3.1415926
fmt.Printf("浮点数: %f\n", f)
fmt.Printf("科学计数法(小写): %e\n", f)
fmt.Printf("科学计数法(大写): %E\n", f)

运行如上代码,输出

浮点数: 3.141593
科学计数法(小写): 3.141593e+00
科学计数法(大写): 3.141593E+00

字符串和字节切片

%s: 直接输出字符串或字节切片
%q: 使用双引号括起来的字符串
%x%X: 每个字节用两字符的十六进制表示

s := "hello"
fmt.Printf("字符串: %s\n", s)
fmt.Printf("带引号的字符串: %q\n", s)
fmt.Printf("每个字节用十六进制表示(小写): %x\n", s)
fmt.Printf("每个字节用十六进制表示(大写): %X\n", s)

运行如上代码,输出

字符串: hello
带引号的字符串: "hello"
每个字节用十六进制表示(小写): 68656c6c6f
每个字节用十六进制表示(大写): 68656C6C6F

指针

%p: 指针地址

t := 100
p := &t
fmt.Printf("指针地址: %p\n", p)

运行如上代码,输出

指针地址: 0xc00001a128

布尔值

%t: 布尔值(true 或 false

b := true
fmt.Printf("布尔值: %t\n", b)

运行如上代码,输出

布尔值: true

其他

%%: 字面上的百分号(%
%UUnicode 格式:U+1234%c: 字符(对应 Unicode 码点)
%v%+v%#v: 通用的占位符
%v: 值的默认格式表示
%+v: 类似 %v,但会打印结构体的字段名
%#v: 值的 Go 语言语法表示

fmt.Printf("百分号: 100%%\n")

// 定义如下 Unicode 字符
var char1 rune = 'A'
var char2 rune = '中'
var char3 rune = '😊'

// 使用 %U 格式化输出 Unicode 码点
fmt.Printf("char1: %c Unicode: %U\n", char1, char1)
fmt.Printf("char2: %c Unicode: %U\n", char2, char2)
fmt.Printf("char3: %c Unicode: %U\n", char3, char3)

type Person struct {
    Name string
    Age  int
}

person := Person{
    Name: "Alice",
    Age:  30,
}

fmt.Printf("值的默认格式表示: %v\n", person)
fmt.Printf("值带结构体的字段名表示: %+v\n", person)
fmt.Printf("值的Go语言语法表示: %#v\n", person)

运行如上代码,输出

百分号: 100%
char1: A Unicode: U+0041
char2: 中 Unicode: U+4E2D
char3: 😊 Unicode: U+1F60A
值的默认格式表示: {Alice 30}
值带结构体的字段名表示: {Name:Alice Age:30}
值的Go语言语法表示: main.Person{Name:"Alice", Age:30}

到此这篇关于Go语言占位符的使用的文章就介绍到这了,更多相关Go语言占位符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • go 原子操作的方式及实现原理全面深入解析

    go 原子操作的方式及实现原理全面深入解析

    这篇文章主要为大家介绍了go 原子操作的方式及实现原理深入解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • golang的os包用法详解

    golang的os包用法详解

    Go语言的 os 包中提供了操作系统函数的接口,是一个比较重要的包。顾名思义,os 包的作用主要是在服务器上进行系统的基本操作,本文将详细介绍了golang的os包用法,需要的朋友可以参考下
    2023-05-05
  • Golang使用pprof检查内存泄漏的全过程

    Golang使用pprof检查内存泄漏的全过程

    pprof 是golang提供的一款分析工具,可以分析CPU,内存的使用情况,本篇文章关注它在分析内存泄漏方面的应用,本文给大家介绍了Golang使用pprof检查内存泄漏的全过程,文中通过代码给大家介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • 从零封装Gin框架实现日志初始化及切割归档功能

    从零封装Gin框架实现日志初始化及切割归档功能

    这篇文章主要为大家介绍了从零封装Gin框架实现日志初始化及切割归档功能示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • 详解Go语言中pprof性能分析与debug调试技巧

    详解Go语言中pprof性能分析与debug调试技巧

    在Go语言开发中,pprof 性能分析与 debug 技巧是高性能 Go 程序开发的重要部分,下面是详细讲解,适用于性能瓶颈排查、CPU 和内存分析、以及服务调试
    2025-06-06
  • 初学Go必备的vscode插件及最常用快捷键和代码自动补全

    初学Go必备的vscode插件及最常用快捷键和代码自动补全

    这篇文章主要给大家介绍了关于初学vscode写Go必备的vscode插件及最常用快捷键和代码自动补全的相关资料,由于vscode是开源免费的,而且开发支持vscode的插件相对比较容易,更新速度也很快,需要的朋友可以参考下
    2023-07-07
  • PHP与Go语言之间的通信详解

    PHP与Go语言之间的通信详解

    相信大家都知道不同语言之间的通信方式有很多种,这篇文章详细的介绍了PHP与Go语言之间如何通信,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-10-10
  • 基于Golang+Vue编写一个手机远程控制电脑的懒人工具

    基于Golang+Vue编写一个手机远程控制电脑的懒人工具

    这篇文章主要为大家详细介绍了如何基于Golang+Vue编写一个手机远程控制电脑的懒人工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2024-11-11
  • GO接收GET/POST参数及发送GET/POST请求的实例详解

    GO接收GET/POST参数及发送GET/POST请求的实例详解

    这篇文章主要介绍了GO接收GET/POST参数及发送GET/POST请求,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 详解如何使用Go语言进行文件监控和通知

    详解如何使用Go语言进行文件监控和通知

    在Go语言中,文件监控通常涉及到文件系统事件的监听,文件或目录的状态发生变化(如创建、删除、修改等)时,你的程序需要得到通知,所以本文给大家介绍了如何使用Go语言进行文件监控和通知,需要的朋友可以参考下
    2024-06-06

最新评论