go语言学习笔记 — 基础 — 基本数据类型 — 字符串:字符串格式化输出
Posted Locutus
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言学习笔记 — 基础 — 基本数据类型 — 字符串:字符串格式化输出相关的知识,希望对你有一定的参考价值。
格式化输出在代码逻辑中非常常用。
1. 格式化函数
使用格式化函数,要注意写法:
fmt.Sprintf(格式化样式,参数列表...)
fmt.Printf(格式化样式,参数列表...)
fmt.Println(参数列表...)
-
格式化样式:字符串形式,格式化动词以%开头
-
参数列表:以逗号分隔多个参数,参数必须与格式化样式中格式化动词一一对应,否则运行时会报错
2. Go的格式化输出延续C语言风格
package string_test
import (
"fmt"
"testing"
)
var progress int = 2
var target int = 8
func TestStringfmtout(t *testing.T) {
// 把两个参数格式化输出
title := fmt.Sprintf("已采集%d个,还需要%d个才能完成任务", progress, target)
fmt.Println(title)
pi := 3.14159
// 正常输出原值
variant := fmt.Sprintf("%v %v %v", "月球基地", pi, true)
fmt.Println(variant)
}
/*
已采集2个,还需要8个才能完成任务
月球基地 3.14159 true
*/
func TestStringfmtoutput(t *testing.T) {
// 声明匿名结构体,并赋初值(结构体实例化)
profile := &struct {
Name string
HP int
}{
Name: "rat",
HP: 150,
}
fmt.Printf("使用'%%+v', %+v\\n", profile)
fmt.Printf("使用'%%#v', %#v\\n", profile)
fmt.Printf("使用'%%T', %T\\n", profile)
}
/*
使用'%+v', &{Name:rat HP:150}
使用'%#v', &struct { Name string; HP int }{Name:"rat", HP:150}
使用'%T', *struct { Name string; HP int }
*/
注:
海象运算符:=不能用于声明全局变量!只能在函数内部使用,只用来声明临时(局部)变量。
初始化全局变量需使用var关键字,正确操作:var a int = 8
声明结构体时,在{}内的成员变量字段与类型后面都不用加逗号,;在结构体初始化实例赋值时,每个成员变量字段与类型后面都要加逗号,。
3. 常用的格式化动词
动词 | 功能 |
---|---|
%v | 正常输出原值 |
%+v | 在%v基础上,对结构体字段名和值进行展示 |
%#v | 输出Go语言语法格式的值,在%v基础上,对结构体的属性和结构体实例的字段名和值,进行展示 |
%T | 输出参数的类型 |
%% | 输出第二个%和%之后的本体。如%%+v,输出%+v |
%b | 以二进制显示整型 |
%o | 以八进制显示整型 |
%d | 以十进制显示整型 |
%x | 以十六进制显示整型 |
%X | 以十六进制显示整型、大写字母显示 |
%U | 以Unicode字符显示 |
%f | 以浮点数显示 |
%p | 以十六进制显示指针 |
以上是关于go语言学习笔记 — 基础 — 基本数据类型 — 字符串:字符串格式化输出的主要内容,如果未能解决你的问题,请参考以下文章
go语言学习笔记 — 基础 — 基本数据类型 — 字符串:字符
go语言学习笔记 — 基础 — 基本数据类型 — 原生数据类型:布尔型数字类型(整型与浮点型)字符串类型
go语言学习笔记 — 基础 — 基本数据类型 — 字符串(11):go中的字符串
go语言学习笔记 — 基础 — 基本数据类型 — 类型类别:值类型和引用类型