Go 语言:print 系列函数


#Go 语言#


Printf 格式化输出

fmt 官方文档 介绍了各个格式对应的占位符。

通用打印

package main

import "fmt"

type person struct {
    name string
    height int
}

func main() {
    // 通用打印
    p := person{
        name:   "letian",
        height: 180,
    }
    fmt.Printf("%v\n", 123)
    fmt.Printf("%v\n", true)
    fmt.Printf("%v\n", p)
}

运行后输出:

123
true
{letian 180}

打印整数

package main

import "fmt"

func main() {
    // 打印 int
    fmt.Printf("%d\n", 123)
    fmt.Printf("%5d\n", 123)  // 至少5位,不全则补空格
    fmt.Printf("%05d\n", 123) // 至少5位,不全则补0
    fmt.Printf("%+d\n", 123)  // 带符号
    fmt.Printf("%b\n", 123)   // 二进制
    fmt.Printf("%x\n", 123)   // 16进制,字母小写
    fmt.Printf("%X\n", 123)   // 16进制,字母大写
}

运行后输出:

123
  123
00123
+123
1111011
7b
7B

打印浮点数

package main

import "fmt"

func main() {
    // 浮点数
    fmt.Printf("%f\n", 1.2345665)
    fmt.Printf("%.2f\n", 1.2345665)  // 仅展示小数点后两位
}

运行后输出:

1.234566
1.23

打印 bool

package main

import "fmt"

func main() {
    // 打印 bool
    fmt.Printf("%t\n", true)
    fmt.Printf("%t\n", false)
}

运行后输出:

true
false

打印字符串

package main

import "fmt"

func main() {
    // 字符串
    fmt.Printf("%s\n", "Hello")
    fmt.Printf("%q\n", "Hello")  // 带双引号
}

运行后输出:

Hello
"Hello"

打印指针

package main

import "fmt"

func main() {
    // 指针
    i := 0
    fmt.Printf("%p\n", &i)
}

运行后输出:

0xc000094000

打印 struct

package main

import "fmt"

type person struct {
    name string
    height int
}

func main() {
    // 打印 struct
    p := person{
        name:   "letian",
        height: 180,
    }
    fmt.Printf("%v\n", p)
    fmt.Printf("%+v\n", p)
    fmt.Printf("%#v\n", p)
}

运行后输出:

{letian 180}
{name:letian height:180}
main.person{name:"letian", height:180}

打印变量类型

package main

import "fmt"

type person struct {
    name string
    height int
}

func main() {
    // 打印 变量类型
    p := person{
        name:   "letian",
        height: 180,
    }

    fmt.Printf("%T\n", 1)
    fmt.Printf("%T\n", p)
}

运行后输出:

int
main.person

Println

示例:

package main

import "fmt"

type person struct {
    name string
    height int
}

func main() {
    p := person{
        name:   "letian",
        height: 180,
    }
    fmt.Println("112", 1, "Hello", p)
    fmt.Println(1.234)
}

运行结果:

112 1 Hello {letian 180}
1.234

( 本文完 )