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:
Golang 开发实战day02 - Print & Formatting-LMLPHP
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:
Golang 开发实战day02 - Print & Formatting-LMLPHP
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文件中,文件的生成位置在我们运行项目的默认路径下。Golang 开发实战day02 - Print & Formatting-LMLPHP

Formatting Strings

Go语言的格式化字符串由普通文本和格式化指令组成。格式化指令用于指定如何格式化数据。

  1. 常见的格式化指令:

%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:
Golang 开发实战day02 - Print & Formatting-LMLPHP
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)
}

Golang 开发实战day02 - Print & Formatting-LMLPHP
Golang 开发实战day02 - Print & Formatting-LMLPHP

感谢观看,下一期内容打印与整理字符串

03-04 21:17