Golang 【basic_leaming】fmt.Print, fmt.Printf, fmt.Println 的区别

news2024/11/26 10:04:00

阅读目录

  • fmt 包
    • fmt.Print 原样输出
    • fmt.Printf 格式输出
    • fmt.Println 值 + 空格 输出
    • 换行输出
  • Println 和 Print 区别
  • Println 和 Printf 区别
  • 变量
    • 类型推导方式定义变量
    • 使用 Printf打印一个变量的类型

fmt 包

fmt = format,是一种格式化输出函数汇总包,用于格式化输出。

fmt.Print 原样输出

package main

import (
	"fmt"
)

const name, age = "willem", 32

func main() {
	fmt.Print("%s", name, "%d", age)
}

// 输出:%swillem%d32

fmt.Printf 格式输出

使用方法:

fmt.Printf("%格式1%格式2", 变量值1, 变量2)
package main

import (
	"fmt"
)

func main() {
	const name, age = "willem", 32
	// fmt.Printf(name, age) // 输出结果:willem%!(EXTRA int=32)
	fmt.Printf("%s%d", name, age) // 输出结果:willem32
}

常见的格式输出形式:

  • %s — 字符串
  • %d — 10进制数值
  • %T — type(值)

fmt.Println 值 + 空格 输出

package main

import (
	"fmt"
)

func main() {
	const name, age = "willem", 22
	fmt.Println(name, age) // 输出结果 willem 空格 22
}

换行输出

package main

import (
	"fmt"
)

func main() {
	const name, age = "willem", 22
	fmt.Println(name, "\n", age) // 输出结果 willem 空格 22
}

在这里插入图片描述

Println 和 Print 区别

Println 会自动换行 Print 不会。

package main

import (
	"fmt"
)

func main() {
	fmt.Println("A")
	fmt.Println("B")
	fmt.Println("C")
}

在这里插入图片描述

func main() {
	fmt.Print("A")
	fmt.Print("B")
	fmt.Print("C")
}

在这里插入图片描述

Println 和 Printf 区别

 package main

import (
	"fmt"
)

func main() {
	// go 语言中定义变量必须要使用
	// var a = "aaa"
	var c int = 10
	var e int = 3
	var f int = 5

	// fmt.Println("c=", c, "e=", e, "f=", f)
	// 输出格式:c= 10 e= 3 f= 5

	fmt.Printf("c=%v e=%v f=%v", c, e, f)
	// 输出格式:c=10 e=3 f=5
}

换行输出:

func main() {
	// go 语言中定义变量必须要使用
	// var a = "aaa"
	var c int = 10
	var e int = 3
	var f int = 5

	// fmt.Println("c=", c, "e=", e, "f=", f)
	// 输出格式:c= 10 e= 3 f= 5

	fmt.Printf("c=%v e=%v f=%v \n", c, e, f)
	fmt.Printf("c=%v e=%v f=%v", c, e, f)
	// 输出格式:c=10 e=3 f=5
}

变量

类型推导方式定义变量

func main() {
	// 类型推导方式定义变量
	a := 10
	b := 20
	c := 30

	fmt.Printf("a=%v b=%v c=%v", a, b, c)
	// 输出:a=10 b=20 c=30
}

使用 Printf打印一个变量的类型

func main() {
	// 类型推导方式定义变量
	a := 10

	fmt.Printf("a=%v a的类型是%T", a, a)
	// 输出:a=10 a的类型是int
}

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

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

相关文章

这款国产API工具也太强了吧!让我放弃了postman

为什么弃用postman转用Eolink? 程序员在接口开发完成后都通常需要自测,当返回结果根据符合预期时,则表示代表接口可用。自己以前用的是postman来进行接口测试,但postman只能进行接口测试,有局限性、很多场景不能满足我的需求&am…

jenkins集成sonarqube

一、在linux上面安装sonarqube 相关文件下载地址 (1)下载sonarqube-9.6.1.59531.zip解压 (2)创建用户 useradd sonar passwd sonar(3)赋权 chown -R sonar.sonar /opt/sonarqube/sonarqube-9.6.1.59531(4)切换用户&#xff0c…

【C++】C++11新特性

目录 一.列表初始化initializer_list 1.什么是列表初始化 2.列表初始化的原理 二.auto/decltype/nullptr 1.auto - 自动类型推导 2.decltype - 指定类型 3.nullptr - C空指针 三.范围for 四.右值引用/移动构造/移动赋值/万能引用/完美转发 1.什么是右值 2.左值与右值…

react面试题总结一波,以备不时之需

React组件的构造函数有什么作用?它是必须的吗? 构造函数主要用于两个目的: 通过将对象分配给this.state来初始化本地状态将事件处理程序方法绑定到实例上 所以,当在React class中需要设置state的初始值或者绑定事件时&#xff…

首版20年后开源反病毒引擎 ClamAV 1.0 发布

导读ClamAV 是一个开源的(GPL)反病毒引擎,用于检测木马、病毒、恶意软件和其他恶意威胁。它为用户提供了许多实用程序,包括一个可扩展的多线程守护程序、一个命令行扫描器和一个自动更新数据库的高级工具。 ClamAV 是一个开源的&a…

rust编译器教我做人,为啥还要学习rust语言,因为想使用rust做一些底层服务,更深入的研究技术。

目录1,继续学习Rust语言,确实学习成本很高,学了两周还在学习入门概念,和编译器斗争2,rust学习曲线非常高,为啥还要坚持学习,一直想写一些服务研究研究底层的技术啥的3,rust对前端也有…

git回退版本 简单易懂

进行git版本回退的时候 查看git提交的版本 使用git log查看提交日志: git loggit log命令显示从最近到最远的提交日志 如果嫌输出信息太多,可以试试加上–prettyoneline参数,代码如下: $ git log --prettyoneline 日志会进行减少 根据…

【分布式系统】分布式缓存Redis集群原理与环境搭建

文章目录集群原理缓存分片算法Hash算法一致性Hash算法二者区别集群方案通信协议缓存路由缓存扩展保障可用性搭建redis安装步骤集群安装基本配置启动节点创建集群访问集群添加主节点加入集群分配槽添加从节点切换从节点删除节点手动切换故障升级节点问题记录安装gccjemalloc/jem…

3.21 小红书薯条改版了,都改了些什么呢?【玩赚小红书】

一、薯条是什么? 咱们在座的大部分都是小红书深度用户,相信对薯条再熟悉不过了。 「薯条」 就是小红书自助式的投放工具,通过投放薯条,能给我们提供更多的曝光度,带来更多的赞藏评,从而提高内容的转化率&…

通信原理 | 彻底搞懂卷积

先从多项式运算说起 下面这个多项式,大家应该都会算: 一般做法是先逐项相乘,再合并同类项,需要两步才能完成,那有没有一步就能完成的方法呢? 下面的方法就可以做到 总结这种计算过程: 反褶:多项式按照x的降幂排列,将其中任意一个多项式各项按照升幂排列。 平移:将…

加拿大学生服务部门都有哪些?

咱们今天来聊聊和同学们密切相关的大学里的学生服务部门都有哪些?同学们有了各种问题可以去找谁解决?知道了这些团队,同学们远在千里上着网课,就不会有孤立无援的感觉啦。 1. Registrition Office 这是负责新生注册管理的部门。大…

(附源码)ssm在线学习系统 毕业设计 261624

摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存…

安装阿里的龙蜥系统

1.打开VMware workstations 点击文件 选择新建虚拟机 2.选择虚拟机类型的配置 3.如何安装操作系统 4.选择操作系统的版本 5.修改虚拟机名称和位置 6.设置指定磁盘的容量 默认20G 7.检查新建虚拟机所有参数检查选择的所有参数是否有误,没问题就点完成&#xff0…

java面试强基(19)

HashMap 和 Hashtable 的区别? 线程是否安全: HashMap 是非线程安全的,Hashtable 是线程安全的,因为 Hashtable 内部的方法基本都经过synchronized 修饰。(如果你要保证线程安全的话就使用 ConcurrentHashMap 吧!&am…

CCES软件开发ADSP-21489的详解

作者的话 21489和21479在自己写代码C编程的开发模式下,可以使用 Visual DSP软件,也可以使用 CCES 软件。CCES 软件是基于 Eclipse内核的,所以你会发现使用起来跟很多其他的调试工具很类似。本篇会简单的讲一下如何用CCES 软件来做开发。 PS…

【发福利啦!】畅享上百万卡时NPU普惠算力,启智与昇思MindSpore社区联合推出算力支持计划

启智社区与MindSpore联合,为MindSpore开发者提供 365天*24小时 上百万卡时的MindSporeNPU普惠算力,欢迎MindSpore产学研开发者申请,基于MindSpore开发你自己的模型算法套件和应用 嘿~因为了解到日理万机的你可能没有时间仔细阅读完整篇文章&…

[windows] opencv + ffmpeg + h264 + h265 源码编译教程

1 前言 此方法可支持读写 H264/H265编码的视频 2 环境准备 官网下载 msys 安装 建议默认路径安装,避免不必要的麻烦 打开MSYS2 MSYS命令行 打开后,能看见下图中的MSYS标记 在MSYS 命令行上执行下面命令安装依赖库,安装的时候建议每个…

C# 实现模拟PID调试(学习专用无硬件)

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace PID控制 {public class PIDModel{public float goal; //定义设定值public float thisValue; //定义实际值public float err…

DBCO-ICG-disulfo_二磺酸-吲哚菁绿-二苯并环辛炔_disulfo-ICG-DBCO

一、理论分析: 中文名:二磺酸-吲哚菁绿-二苯并环辛炔、水溶性吲哚菁绿-二苯基环辛炔 英文名:disulfo-ICG-DBCO、DBCO-ICG-disulfo CAS号:N/A 化学式:C63H62N4Na2O11S3 分子量:1193.37二、产品详情&#xff…

Bootstrap Table pagelist设置后失效

Bootstrap Table pagelist设置后不生效、失效、不起作用、不能使用问题。 前言 在使用Bootstrap Table进行数据展示时,设置pagelist选项后不生效。bootstrap版本为 v3.3.7。 经过 网上搜索尝试使用以下几种方式解决,发现均不行,你们可以参…