Golang 【basic_leaming】fmt.Print, fmt.Printf, fmt.Println 的区别

fmt 包

fmt = format,是一种格式化输出函数汇总包,用于格式化输出。

fmt.Print 原样输出

package main

import (
	"fmt"
)

const name, age = "willem", 32

func main() {
	fmt.Print("%s", name, "%d", age)
}

// 输出:%swillem%d32

fmt.Printf 格式输出

使用方法:

fmt.Printf("%格式1%格式2", 变量值1, 变量2)
package main

import (
	"fmt"
)

func main() {
	const name, age = "willem", 32
	// fmt.Printf(name, age) // 输出结果:willem%!(EXTRA int=32)
	fmt.Printf("%s%d", name, age) // 输出结果:willem32
}

常见的格式输出形式:

  • %s — 字符串
  • %d — 10进制数值
  • %T — type(值)

fmt.Println 值 + 空格 输出

package main

import (
	"fmt"
)

func main() {
	const name, age = "willem", 22
	fmt.Println(name, age) // 输出结果 willem 空格 22
}

换行输出

package main

import (
	"fmt"
)

func main() {
	const name, age = "willem", 22
	fmt.Println(name, "\n", age) // 输出结果 willem 空格 22
}

在这里插入图片描述

Println 和 Print 区别

Println 会自动换行 Print 不会。

package main

import (
	"fmt"
)

func main() {
	fmt.Println("A")
	fmt.Println("B")
	fmt.Println("C")
}

在这里插入图片描述

func main() {
	fmt.Print("A")
	fmt.Print("B")
	fmt.Print("C")
}

在这里插入图片描述

Println 和 Printf 区别

 package main

import (
	"fmt"
)

func main() {
	// go 语言中定义变量必须要使用
	// var a = "aaa"
	var c int = 10
	var e int = 3
	var f int = 5

	// fmt.Println("c=", c, "e=", e, "f=", f)
	// 输出格式:c= 10 e= 3 f= 5

	fmt.Printf("c=%v e=%v f=%v", c, e, f)
	// 输出格式:c=10 e=3 f=5
}

换行输出:

func main() {
	// go 语言中定义变量必须要使用
	// var a = "aaa"
	var c int = 10
	var e int = 3
	var f int = 5

	// fmt.Println("c=", c, "e=", e, "f=", f)
	// 输出格式:c= 10 e= 3 f= 5

	fmt.Printf("c=%v e=%v f=%v \n", c, e, f)
	fmt.Printf("c=%v e=%v f=%v", c, e, f)
	// 输出格式:c=10 e=3 f=5
}

变量

类型推导方式定义变量

func main() {
	// 类型推导方式定义变量
	a := 10
	b := 20
	c := 30

	fmt.Printf("a=%v b=%v c=%v", a, b, c)
	// 输出:a=10 b=20 c=30
}

使用 Printf打印一个变量的类型

func main() {
	// 类型推导方式定义变量
	a := 10

	fmt.Printf("a=%v a的类型是%T", a, a)
	// 输出:a=10 a的类型是int
}

格式化打印中的常用占位符

%v,原样输出
%T,打印类型
%t,bool类型
%s,字符串
%f,浮点
%d,10进制的整数
%b,2进制的整数
%o,8进制
%x,%X,16进制
    %x:0-9,a-f
    %X:0-9,A-F
%c,打印字符
%p,打印地址
...

示例 1

package main

import (
	"fmt"
)

func main() {
	a := 100           //int
	b := 3.14          //float64
	c := true          // bool
	d := "Hello World" //string
	f := 'A'
	fmt.Printf("%T,%b\n", a, a)
	fmt.Printf("%T,%f\n", b, b)
	fmt.Printf("%T,%t\n", c, c)
	fmt.Printf("%T,%s\n", d, d)
	fmt.Printf("%T,%d,%c\n", f, f, f)
	fmt.Println("-----------------------")
	fmt.Printf("%v\n", a)
	fmt.Printf("%v\n", b)
	fmt.Printf("%v\n", c)
	fmt.Printf("%v\n", d)
	fmt.Printf("%v\n", f)
}
running...
int,1100100
float64,3.140000
bool,true
string,Hello World
int32,65,A
-----------------------
100
3.14
true
Hello World
65

键盘输入

package main

import (
	"fmt"
)

func main() {
	var x int
	var y float64
	fmt.Println("请输入一个整数,一个浮点类型:")
	fmt.Scanln(&x, &y) //读取键盘的输入,通过操作地址,赋值给x和y   阻塞式
	fmt.Printf("x的数值:%d,y的数值:%f\n", x, y)

	fmt.Scanf("%d,%f", &x, &y)
	fmt.Printf("x:%d,y:%f\n", x, y)
}
PS E:\golang\src> go run .\main.go
请输入一个整数,一个浮点类型:
50 3.1415926
x的数值:50,y的数值:3.141593

x:50,y:3.141593
PS E:\golang\src>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知其黑、受其白

喝个咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值