Go语言的键盘输入和打印输出

键盘输入和打印输出

一、打印输出

1.1 fmt包

fmt包实现了类似C语言printf和scanf的格式化I/O。格式化verb(‘verb’)源自C语言但更简单。

详见官网fmt的API:https://golang.google.cn/pkg/fmt/

1.2 导入包

import "fmt"

1.3 常用打印函数

打印:

func Print(a …interface{}) (n int, err error)

格式化打印:

func Printf(format string, a …interface{}) (n int, err error)

打印后换行

func Println(a …interface{}) (n int, err error)

格式化打印中的常用占位符:

格式化打印占位符:%v,原样输出%T,打印类型%t,bool类型%s,字符串%f,浮点%d,10进制的整数%b,2进制的整数%o,8进制%x,%X,16进制%x:0-9,a-f%X:0-9,A-F%c,打印字符%p,打印地址。。。

示例代码:

package mainimport ("fmt"
)func main() {a := 100           //intb := 3.14          //float64c := true          // boold := "Hello World" //stringe := `Ruby`        //stringf := 'A'fmt.Printf("%T,%b\n", a, a)fmt.Printf("%T,%f\n", b, b)fmt.Printf("%T,%t\n", c, c)fmt.Printf("%T,%s\n", d, d)fmt.Printf("%T,%s\n", e, e)fmt.Printf("%T,%d,%c\n", f, f, f)fmt.Println("-----------------------")fmt.Printf("%v\n", a)fmt.Printf("%v\n", b)fmt.Printf("%v\n", c)fmt.Printf("%v\n", d)fmt.Printf("%v\n", e)fmt.Printf("%v\n", f)}

二、键盘输入

2.1 fmt包读取键盘输入

常用方法:

func Scan(a …interface{}) (n int, err error)

func Scanf(format string, a …interface{}) (n int, err error)

func Scanln(a …interface{}) (n int, err error)

package mainimport ("fmt"
)func main() {var x intvar y float64fmt.Println("请输入一个整数,一个浮点类型:")fmt.Scanln(&x,&y)//读取键盘的输入,通过操作地址,赋值给x和y   阻塞式fmt.Printf("x的数值:%d,y的数值:%f\n",x,y)fmt.Scanf("%d,%f",&x,&y)fmt.Printf("x:%d,y:%f\n",x,y)
}

2.2 bufio包读取

https://golang.google.cn/pkg/bufio/

示例代码:

package mainimport ("fmt""os""bufio"
)func main() {fmt.Println("请输入一个字符串:")reader := bufio.NewReader(os.Stdin)s1, _ := reader.ReadString('\n')fmt.Println("读到的数据:", s1)}

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

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

相关文章

elasticsearch中highlight的“假匹配”

elasticsearch中highlight的“假匹配” 一个highlight的假高亮现象: /company_meta_info/_search?rest_total_hits_as_inttrue {"_source": {"includes": ["name","address"]},"query": {"bool": {&…

[笔记] 字符串输入 #字符输入

字符串的多组输入格式 scanf("%c", &ch)读取单个字符,用EOF作为结束的判断标志。 刷题记录:[题] 查找最大元素 #字符输入 逐个字符手动读取,因为题目的要求,要对每个字符逐个操作,所以就输入的时候顺便…

android一些经验记录

1.应用程序闪退,连画面都没有,先去看看程序的xml文件中的控件是不是有错误。

C++:string类!

Cstring 是C中的字符串。 字符串对象是一种特殊类型的容器,专门设计来操作的字符序列。 不像传统的c-strings,只是在数组中的一个字符序列,我们称之为字符数组,而C字符串对象属于一个类,这个类有很多内置的特点,在操作…

软考 系统架构设计师系列知识点之设计模式(11)

接前一篇文章:软考 系统架构设计师系列知识点之设计模式(10) 所属章节: 老版(第一版)教材 第7章. 设计模式 第2节. 设计模式实例 相关试题 10. 设计模式按照目的可划分三类,其中,…

某国产中间件企业:提升研发安全能力,助力数字化建设安全发展

​某国产中间件企业是我国中间件领导者,国内领先的大安全及行业信息化解决方案提供商,为各个行业领域近万家企业客户提供先进的中间件、信息安全及行业数字化产品、解决方案及服务支撑,致力于构建安全科学的数字世界,帮助客户实现…

c语言刷题(9周)(6~10)

输入10个不等的整数创建数组a[10],在数组a中找是否存在整数t。若存在显示找到了及下标位置,若不存在显示error。 题干输入10个不等的整数创建数组a[10],在数组a中找是否存在整数t。若存在显示找到了及下标位置,若不存在显示error…

进程空间管理:用户态和内核态

用户态虚拟空间里面有几类数据,例如代码、全局变量、堆、栈、内存映射区等。在 struct mm_struct 里面,有下面这些变量定义了这些区域的统计信息和位置。 unsigned long mmap_base; /* base of mmap area */ unsigned long total_vm; /* Total page…

Python算法——选择排序

选择排序(Selection Sort)是一种简单的排序算法,它的基本思想是在未排序的部分中选择最小(或最大)的元素,然后将其放在已排序部分的末尾。选择排序不同于冒泡排序,它不需要反复交换元素&#xf…

Android 自定义View一

1.继承已有VIew,改写尺寸:重写onMeasure SquareImageView 2.完全自定义重写onMeasure 3.自定义Layout 重写onMeasure onLayout 1.继承已有VIew,改写尺寸:重写onMeasure 流程: 重写onMeasure 用getmeasureedWidth …

人工智能-多层感知机

隐藏层 该模型通过单个仿射变换将我们的输入直接映射到输出,然后进行softmax操作。 如果我们的标签通过仿射变换后确实与我们的输入数据相关,那么这种方法确实足够了。 但是,仿射变换中的线性是一个很强的假设。 线性模型可能会出错 例如&…

【Spring】配置文件-properties和xml

文章目录 1. 前言2. properties配置文件3. xml配置文件4. 总结 1. 前言 在Spring中,配置文件有两种,properties配置文件和xml配置文件 properties配置文件,在Java编程中是一种常见的配置文件形式,文件后缀为“.properties”,属于文本文件。它…

Java中的23种设计模式

一、创建型模式1.单例模式 单例模式是 Java 中最简单的设计模式之一。通过单例模式,可以保证系统中,应用了单例模式的类,只有一个对象实例。包括五种:饿汉式、懒汉式、双重校验、静态内部类、枚举类。 1.1 饿汉式 特点:类加载时…

typeScript的类型等级

1.首先安装typeScript npm install typescript 2.方便学习安装一个types/node方便编译ts npm install types/node 可以直接使用命令 ts-node index.ts 准备工作完成!!! 类型的等级 1:any unknown //顶级的类型 2: Object …

十分钟设置免费海外远程桌面 | 使用Amazon Lightsail服务的免费套餐轻松搭建远程桌面

目录 使用Amazon Lightsail服务的免费套餐轻松搭建远程桌面 1. 启动Amazon Lightsail实例 2. 配置远程桌面 3. 启动远程桌面 4. 使用远程桌面 使用Amazon Lightsail服务的免费套餐轻松搭建远程桌面 前言 ①本教程将向您介绍如何使用Amazon Lightsail服务的免费套餐轻松搭…

linux导入、导出数据库sql语句

导入数据库 1、首先建空数据库 mysql>create database abc;2、导入数据库 方法一: (1)选择数据库 mysql>use abc;(2)设置数据库编码 mysql>set names utf8;(3)导入数据&#xff0…

Vue+elementui 纯前端实现Excel导入导出功能(区分表头标题)

引入插件 import * as XLSX from "xlsx/xlsx.mjs"; import { read, utils } from xlsx/xlsx.mjs; 上传文件方法 // 上传文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用async handle(ev) {//改变表格key值this.$refs.cpkTable.loading…

git pull 时每次都要输入用户名和密码的解决办法

解决办法: git bash进入你的项目目录,输入: git config credential.helper store

知心早安问候语,愿你享受美好的时光,幸福快乐每一天

人生万里路,走好每一步,身体是本钱,平安是财富,开心就是护身符,健康才是摇钱树。新的一天,事事顺意! 晨起福门开,快乐安康在,愉悦心态好,生活充满爱&#xf…

Qt报错整理-Q_DECLARE_METATYPE

1、Q_DECLARE_METATYPE 进行数据绑定时候,出现这个bug错。 error: C2338: Type is not registered, please use the Q_DECLARE_METATYPE macro to make it known to Qt。 原因:使用了QVariant::fromValue(user),QVariant对象使用前需进行类…