Golang中"%T"是什么意思?

Golang中"%T"是什么意思? 我记不清这是什么意思了,也不知道去哪里找答案

5 回复

感谢您的解释。那么当我在程序中使用"%T"时,它的作用是输出该值的类型吗?

更多关于Golang中"%T"是什么意思?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


运行以下代码查看其工作原理: https://play.golang.org/p/GAyy_87sjsi

太棒了!这真的很有帮助!我为什么这么兴奋呢?说真的,这比在收音机里听足球比赛还要棒!😀

值的类型的 Go 语法表示形式

来自 fmt 文档

至少在格式化字符串中这是正确的,在其他上下文中可能有其他含义,但大多数情况下它可能只是一个包含百分号和大写字母 T 的字符串。

在Go语言中,%T 是格式化输出中的一个动词,用于在 fmt.Printffmt.Sprintf 等函数中输出变量的类型信息。它会将变量的具体类型名称作为字符串插入到格式化字符串中。

示例代码:

package main

import "fmt"

func main() {
    var num int = 42
    var str string = "hello"
    var arr [3]int = [3]int{1, 2, 3}

    fmt.Printf("num 的类型是: %T\n", num)   // 输出: num 的类型是: int
    fmt.Printf("str 的类型是: %T\n", str)   // 输出: str 的类型是: string
    fmt.Printf("arr 的类型是: %T\n", arr)   // 输出: arr 的类型是: [3]int

    // 使用 Sprintf 获取类型字符串
    typeStr := fmt.Sprintf("%T", str)
    fmt.Println("str 的类型字符串:", typeStr) // 输出: str 的类型字符串: string
}

运行结果:

num 的类型是: int
str 的类型是: string
arr 的类型是: [3]int
str 的类型字符串: string

%T 在调试和日志输出中特别有用,可以快速查看变量的实际类型。

回到顶部