Golang 教程02 - Print,Formatting Strings
Go语言提供了丰富的格式化字符串功能,用于将数据格式化为特定格式的字符串。本课程将详细介绍Go语言中Print和Formatting Strings的用法,并提供代码示例供大家参考。
Print 类型及使用
1.Print
Printf是Go语言中常用的格式化输出函数,它可以将格式化字符串和参数组合在一起,输出到标准输出。
语法:
fmt.Printf(format string, args ...interface{}) (n int, err error)
参数:
- format string: 格式化字符串,用于指定输出格式
- args: 可变参数列表,用于提供要格式化的数据
fmt.Print("hello, ")
fmt.Print("world! \n")
fmt.Print("new line \n")
fmt.Println("hello 小叮当!")
fmt.Println("goodbye 小叮当!")
上边两段代码输出都是一样的,ln也就是替代了\n的换行效果
Output:
2. Sprintf
Sprintf类似于Printf,但它不会将输出发送到标准输出,而是将其返回为一个字符串。
age := 10
name := "野比大雄"
var str = fmt.Sprintf("my age is %v and my name is %v \n", age, name)
fmt.Println("the saved string is:", str)
Output:
3. Fprintf
Fprintf类似于Printf,但它将输出发送到指定的io.Writer。
语法:
fmt.Fprintf(w io.Writer, format string, args ...interface{}) (n int, err error)
- w: io.Writer类型的对象,用于指定输出目标
- format string: 格式化字符串,用于指定输出格式
- args: 可变参数列表,用于提供要格式化的数据
age := 10
name := "野比大雄"
file, err := os.OpenFile("output.txt", os.O_WRONLY|os.O_CREATE, 0644)
if err != nil {
log.Fatal(err)
}
defer file.Close()
fmt.Fprintf(file, "Hello, %s! You are %d years old.\n", name, age)
}
这里的Output内容,是会将如下内容打印到output.txt文件中,文件的生成位置在我们运行项目的默认路径下。
Formatting Strings
Go语言的格式化字符串由普通文本和格式化指令组成。格式化指令用于指定如何格式化数据。
- 常见的格式化指令:
%v: 默认格式化,根据数据类型自动选择格式
%d: 十进制整数
%o: 八进制整数
%x: 十六进制整数
%f: 浮点数
%s: 字符串
%t: 布尔值
name := "野比大雄"
age := 10
pi := 3.1415926535
fmt.Printf("%s is %d years old.\n", name, age)
fmt.Printf("The value of pi is %f.\n", pi)
fmt.Printf("Is pi greater than 3? %t\n", pi > 3)
Output:
2. 格式化选项:
格式化指令还可以使用格式化选项来控制输出格式。
常见的格式化选项:
%+v: 显示结构体的字段名
%#v: 显示 Go 代码格式的表示形式
%q: 显示双引号包围的字符串
%x: 显示十六进制编码的字符串
type Point struct {
X int
Y int
}
point := Point{1, 2}
fmt.Printf("%v\n", point)
fmt.Printf("%+v\n", point)
fmt.Printf("%#v\n", point)
}
感谢观看,下一期内容打印与整理字符串