Golang 开发实战day02 - Print Formatting

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 := 10name := "野比大雄"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 := 10name := "野比大雄"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语言的格式化字符串由普通文本和格式化指令组成。格式化指令用于指定如何格式化数据。

  1. 常见的格式化指令:

%v: 默认格式化,根据数据类型自动选择格式
%d: 十进制整数
%o: 八进制整数
%x: 十六进制整数
%f: 浮点数
%s: 字符串
%t: 布尔值

	name := "野比大雄"age := 10pi := 3.1415926535fmt.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 intY int
}point := Point{1, 2}fmt.Printf("%v\n", point)
fmt.Printf("%+v\n", point)
fmt.Printf("%#v\n", point)
}

在这里插入图片描述
在这里插入图片描述

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/721949.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QEMU设备直通pass through的地址映射转换

[内核:HVA]->[QEMU:HVA]的mmap地址映射 $ sudo cat /proc/2047239/maps | grep -i vfio address perms offset dev inode pathname 7f4b5444a000-7f4b5445a000 rw-s 9da50000 00:0e 13037 anon_inode:[vfi…

计算机网络 网络原理之Http

目录 1 前言2 什么是http的一次交互?3 理解“协议”二字4 认识URL4.1 简介4.2 URL的编码和解码(urlencode和urldecode) 5 抓包工具 fiddler6 http和https的区别7 http 头8 HTTP 状态码9 常见的 Http 服务器 1 前言 为什么要了解Http原理呢?因为http原理…

基于SSM SpringBoot vue个人博客网站

基于SSM SpringBoot vue个人博客网站 系统功能 首页 图片轮播 博客文章 搜索 登录注册 论坛 留言板 个人中心 我的收藏 后台管理 登录 个人中心 博客分类管理 博客文章管理 论坛管理 系统管理 管理员管理 注册用户管理 开发环境和技术 开发语言:Java 使用框架:…

实战经验分享:如何优化即时通讯应用的性能?

在当今移动互联网时代,即时通讯应用如雨后春笋般涌现,用户对即时通讯应用的性能和体验要求也越来越高。作为即时通讯开发领域的专家,我将分享一些优化即时通讯应用性能的实战经验,帮助开发者提升应用质量和用户满意度。 1. 优化网…

【Leetcode每日一刷】贪心算法| 45.跳跃游戏 II

1、45.跳跃游戏 II 🦄解题思路: 这题还是比【55.跳跃游戏】难一些的。第一个版本只是说,求跳跃的范围,覆盖到了终点即可。这题则是,能保证覆盖范围到达终点,求的是最少跳几次,跳到终点。 这题…

289页初中级前端题助你拿下Offer,终局之战

HTML、CSS、JS三大部分都起什么作用? HTML内容层,它的作用是表示一个HTML标签在页面里是个什么角色;CSS样式层,它的作用是表示一块内容以什么样的样式(字体、大小、颜色、宽高等)显示;JS行为层…

Redis缓存【重点】

参考链接 https://xiaolincoding.com/redis/cluster/cache_problem.html#%E7%BC%93%E5%AD%98%E9%9B%AA%E5%B4%A9 目录 缓存雪崩大量数据同时过期Redis 故障宕机 缓存击穿第一种方案,非法请求的限制第二种方案,缓存空值或者默认值第三种方案,使…

01、MongoDB -- 下载、安装、配置文件等配置 及 副本集配置

目录 MongoDB -- 下载、安装、配置 及 副本集配置启动命令启动 mongodb 的服务器(单机和副本集)启动单机模式的 mongodb 服务器启动副本集的 3 个副本节点(mongodb 服务器) 启动 mongodb 的客户端 MongoDB 下载MongoDB 安装1、解压…

App自动化测试笔记(一):搭建环境

一、三个环境 1、android模拟器:模拟安卓手机 2、androidSDK:android SDK给你提供开发测试所必须android API类库 3、java:android底层是c、c语言,应用层是java语言 二、java环境搭建 java安装 安装jdk-8u151-windows-x64.exe 配置环境变量…

JAVA的学习日记DAY1

JAVA的学习日记(2024.3.1)(b站韩顺平老师课程学习笔记版) ps:捡起忘光光的Java语言 Sublime //1. public是公有,class是类 //2. public class Hello表示Hello是一个类,是一个public公有的类 //3. Hello{…

【Redis | 第二篇】Redis的五种数据类型和相关命令

文章目录 2.Redis的数据类型和相关命令2.1常用数据类型2.2特性和用途2.2.1字符串(String)2.2.2哈希(Hash)2.2.3列表(List)2.2.4集合(Set)2.2.5有序集合(Sorted Set&#…

SwiftUI中stroke属性的使用

在 SwiftUI 中,可以使用 stroke 属性来绘制形状的轮廓线。stroke 属性接受一个 Color 类型的参数,指定轮廓线的颜色。 以下是一个示例代码,演示如何在 SwiftUI 中使用 stroke 属性绘制矩形的轮廓线: import SwiftUIstruct Conte…

linux小记(1)

基本概念:不依靠扩展名来区分文件类型 好处:除了文本文件其他所有windows文件都无法在Linux下运行,包括病毒木马。 坏处:所有的软件都需要对linux单独开发 习惯用后缀来区分文件,方便管理。 -压缩包:*.…

第十二篇:学习python数据清洗

文章目录 一、啥是数据清洗二、将表格数据导入pandas中1. 准备工作2. 引入csv文件2.1 引入pandas库2.2 读取文件/修改名称3.2 快速浏览数据2.4 修改名字2.5 查找缺失值2.6 删除缺失值 3. 引入Excel文件3.1 引入pandas库3.2 读取Excel文件的人均GDP数据3.3 查看数据类型和non-nu…

YOLOv8从入门到入土使用教程!(一)训练模型

⭐⭐⭐瞧一瞧看一看,新鲜的YOLOv9魔改专栏来啦!⭐⭐⭐ 专栏介绍:YOLOv9改进系列 | 包含深度学习最新创新,主力高效涨点!!! 一、本文介绍 本文将演示如何使用YOLOv8进行训练及预测! 二…

九型人格测试,2号人格助人型的职业分析

九型人格测试中的助人型,也叫二号人格,解读专业选择和职业选择。 助人型人格,在九型人格中,被视作一种给予者,他们总是喜欢帮助别人,有一个观念:“我不帮助别人,就没有人愿意喜欢我…

透明玻璃屏幕为什么那么贵

透明玻璃屏幕之所以价格较高,主要是由于以下几个方面的原因: 技术研发与创新:透明玻璃屏幕作为一种先进的显示技术,其研发和制造过程涉及到许多复杂的技术。这些技术的研发和创新需要投入大量的资金和时间。此外,透明玻…

无冬之夜:增强版 Neverwinter Nights Mac 激活版

Neverwinter Nights是一款角色扮演游戏。游戏的剧情发生在虚构的城市Neverwinter,玩家扮演一个冒险者,在这个城市中探索并完成各种任务。游戏中有许多不同的职业、种族、技能和法术可供玩家选择。游戏的主要特点包括多人游戏模式、自定义模块和工具包&am…

【书生·浦语大模型实战营】第5节 课后作业

LMDeploy 的量化和部署 0. 课程链接1. 课后作业1.1 基础作业1.2 进阶作业(可选做) 0. 课程链接 链接:https://github.com/InternLM/tutorial/blob/main/lmdeploy/lmdeploy.md 1. 课后作业 1.1 基础作业 使用 LMDeploy 以本地对话、网页Gra…

HTML5:七天学会基础动画网页5

CSS3渐变 (可以给背景颜色设置一个渐变的效果) 线性渐变:Linear Gradients(从直线上向远处见面) 语法: background:linear-gradient(direction,color-stop1,color-stop2…); direction:方向 to left, to right, 90deg 径向渐变:Radial …