二丫讲梵 二丫讲梵
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)

二丫讲梵

行者常至,为者常成
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)
  • Shell编程

  • Go编程笔记

  • 前端编程笔记

  • Go学习笔记

    • 基础部分

      • 基础知识
      • 数据类型
      • fmt的格式化输入输出
        • 1,格式说明。
        • 1,格式化输出。
        • 2,格式化输入。
        • 3,类型转换。
        • 4,类型别名
      • 运算符
      • 流程控制
      • 认识函数
      • 包的操作
      • 项目工程-在同级目录
      • 指针(pointer)
      • 数组(array)
      • 切片(slice)
      • 字典(map)
      • 结构体(struct)
      • 匿名组合
      • 方法
      • 接口
      • error接口
      • panic
      • recover
      • 字符串操作
      • 字符串转换
      • 正则表达式
      • JSON处理
      • 文件的操作
      • goroutine
      • channel
      • select
      • sync-lock锁
      • 网络概述
      • Socket编程
      • 发文件与聊天室
      • http编程
      • 爬虫实战
      • 单元测试了解
    • web框架

    • orm框架

  • Vue-21年学习笔记

  • Vue-22年重学笔记

  • 编程世界
  • Go学习笔记
  • 基础部分
二丫讲梵
2021-07-06
目录

fmt的格式化输入输出

文章发布较早,内容可能过时,阅读注意甄别。

# 1,格式说明。

格式 说明
%% 一个%字面量
%b 一个二进制整数值(基数为 2),或是一个(高级的)用科学计数法表示的指数为 2 的浮点数
%c 字符型,可以把输入的数字按照 ASCII 码相应转换为对应字符
%d 一个十进制数值(基数为 10)
%e 以科学计数法 e 表示的浮点数或者复数值
%E 以科学计数法 E 表示的浮点数或者复数值
%f 以标准计数法表示的浮点数或者复数值
%g 以%e 或%f 表示的浮点数或复数,任何一个都以最为紧凑的方式输出
%G 以%E 或%f 表示的浮点数或复数,任何一个都以最为紧凑的方式输出
%o 一个以八进制表示的数字(基数为 8)
%p 以十六进制(基数为 16)表示的一个值的地址,前缀为 0x,字母使用小写的 a-f 表示
%q 使用 Go 语法以及必须时使用转义,以双引号括起来的字符串或者字节切片
%s 字符串。输出字符串中的字符直至字符串中的空字符(字符串以'\0'结尾,这个'\0'即表示空字符)
%t 以 true 或者 false 输出的布尔值
%T 使用 Go 语法输出的值的类型
%U 一个用 Unicode 表示法表示的整型码点,默认值为 4 个数字字符
%v 使用默认格式输出的内置或自定义类型的值,或者是使用其类型的 String()方式输出的自定义值,如果该方法存在的话
%x 以十六进制表示的整型值(基数为十六),数字 a-f 使用小写表示
%X 以十六进制表示的整型值(基数为十六),数字 A-F 使用大写表示

其中比较常用的,已经高亮标出。

# 1,格式化输出。

package main

import "fmt"

func main() {
	a := 10
	b := "abc"
	c := 'a'
	d := 3.14

	//%T操作变量所属类型
	fmt.Printf("%T, %T, %T, %T\n", a, b, c, d)

	// %d 对应整形格式输出
	// %s 对应字符串格式输出
	// %c 对应字符格式输出
	// %f 对应浮点格式输出
	fmt.Printf("a = %d, b = %s, c = %c, d = %f\n", a, b, c, d)

	//%v自动匹配格式输出
	fmt.Printf("a = %v, b = %v, c = %v, d = %v\n", a, b, c, d)

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# 2,格式化输入。

package main

import "fmt"

func main() {
	var a int
	fmt.Println("请输入变量a的值:")

	//fmt.Scanf("%d", &a) 阻塞等待用户的输入,别忘了&
	//对应格式写法
	// fmt.Scanf("%d", &a)

	//自动匹配格式的写法
	fmt.Scan(&a)
	fmt.Println("a =", a)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 3,类型转换。

package main

import "fmt"

func main() {
	//不能转换的类型,叫不兼容类型,先举一个不能转换的例子
	var flag bool
	flag = true
	fmt.Printf("flag = %t\n", flag)

	//bool类型不能转换为int
	//fmt.Printf("flag = %d\n", int(flag))

	// 0就是假,非0就是真
	// 整型也不能转换为bool
	// flag = bool(1)

	//再举一个能够转换的例子。

	var ch byte
	ch = 'a' //字符类型本质上就是整型
	var t int
	t = int(ch) //类型转换,表示把ch的值取出来之后,转成int再赋给t
	fmt.Println("t =", t)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

# 4,类型别名

package main

import "fmt"

func main() {
	//给int64起一个别名bigint,别名的关键字是type
	type bigint int64
	var a bigint //等价于 var a int64
	fmt.Printf("a type is %T\n", a)

	//也可以一次性起多个别名
	type (
		long int64
		char byte
	)
	var b long = 11
	var c char = 'a'
	fmt.Printf("b = %d, c = %c\n", b, c)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
微信 支付宝
#go
上次更新: 2024/06/13, 22:13:45
数据类型
运算符

← 数据类型 运算符→

最近更新
01
记录二五年五一之短暂回归家庭
05-09
02
学习周刊-总第210期-2025年第19周
05-09
03
学习周刊-总第209期-2025年第18周
05-03
更多文章>
Theme by Vdoing | Copyright © 2017-2025 | 点击查看十年之约 | 浙ICP备18057030号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式