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…

C++中的静态成员变量和静态成员函数

一、静态成员变量 静态成员变量使用static修饰的成员变量。静态成员变量不属于某一个对象,而是属于整个类,因此静态成员变量不能设置缺省值,因为缺省值是给予初始化列表用于初始化对象的。 静态成员变量需要再类内声明,类外定义…

计算机网络 网络原理之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原理…

前端知识学习之proxy代理对象

前端proxy代理对象 1.学习背景 学习vue3过程中,发现vue3相比于vue2的最大优势在于,尤雨溪大佬在vue3中使用proxy 代理对象,vue2中使用的双向绑定Object.defineProperty,这两者有什么区别 2.Object.defineProperty 使用方法&am…

ECMAScript语法

什么是ECMAScript ECMAScript 是一种由 ECMA国际(前身为欧洲计算机制造商协会)通过 ECMA-262 标准化的脚本程序设计语言。 ECMAScript 是一种可以在宿主环境中执行计算并能操作可计算对象的基于对象的程序设计语言。ECMAScript 最先被设计成一种 Web 脚…

java使用mapper操作mysql

上半部分搭建springboot 简单使用数据库查询 添加链接描述 在impl接口实现操作 如 package com.service.impl; import com.dao.UserMapper; import com.pojo.User; import com.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import…

基于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{…

MySQL-索引:聚集索引、覆盖索引、组合索引、前缀索引、唯一索引(附带例子解释)

MySQL-索引:聚集索引、覆盖索引、组合索引、前缀索引、唯一索引(附带例子解释) 1、聚集索引2、覆盖索引3、组合索引4、前缀索引5、唯一索引6、再深入理解覆盖索引7、拓展 1、聚集索引 在数据库中,聚集索引决定了表数据行的物理存…

Linux:修改文件权限

简介 在Linux系统中,权限管理是文件和目录安全性的核心。文件权限是非常重要的,它们决定了哪些用户可以读取、写入或执行文件。 文件权限 用户类别 每个文件和目录都与三种类型的权限相关联,分别针对三个不同的用户类别: 所有…

【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&#…

将组件直接绑定到vue实例上面的写法

怎么将组件直接绑定到vue实例上面? 在实际开发过程中,有多种使用vue组件的方式,有在组件中引入,直接挂载到vue进行全局使用,也有直接挂载到vue实例上面当成vue的一个属性来使用的。下面通过代码来实现将组件直接绑定到…

SwiftUI中stroke属性的使用

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

linux小记(1)

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