八、go语言键盘输入和打印输出

news2024/12/27 13:56:44

键盘输入和打印输出

一、打印输出

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 main

import (
	"fmt"
)

func main() {
	a := 100           //int
	b := 3.14          //float64
	c := true          // bool
	d := "Hello World" //string
	e := `Ruby`        //string
	f := 'A'
	s := []int{1, 2}
	//%v:原样输出;%T:打印类型;%t:bool类型;%s:字符串;%f: 浮点; %d: 10进制整数;
	//%b:2进制整数;%o:8进制;%X:16进制,0-9,A-F(%x:0-9,a-f);%c: 打印字符;%p:打印地址
	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, %p, %p \n", f, f, f, &a, s)
	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)

2.2 bufio包读取

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

bufio包中都是IO操作的方法:

示例代码:

package main

import (
	"fmt"
)

func main() {
	var x int
	var y float64
	fmt.Println("请输入一个整数,一个浮点类型,逗号分割:")
	fmt.Scanf("%d,%f",&x,&y)
	fmt.Printf("逗号分割: x的数值:%d,y的数值:%f\n",x,y)
	fmt.Println("请输入一个整数,一个浮点类型,分号分隔:")
	fmt.Scanf("%d;%f",&x,&y)
	fmt.Printf("分号分隔: x:%d,y:%f\n",x,y)
	fmt.Scanln(&x,&y)//读取键盘的输入,默认空格分隔,通过操作地址,赋值给x和y   阻塞式
	fmt.Printf("x的数值:%d,y的数值:%f\n",x,y)

	var msg string
	reader := bufio.NewReader(os.Stdin) // 标准输入输出
	msg,_ = reader.ReadString('\n')  // 回车结束
	msg = strings.TrimSpace(msg)    // 去除最后一个空格
	fmt.Printf("输出结果: %s", msg)
}

运行效果:

在这里插入图片描述

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

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

相关文章

MyBatis——MyBatis项目搭建

但凡是框架,使用都是分三步走 1.导入jar文件,用maven导入 2.处理配置文件 3.开发业务代码 1.创建maven项目导入相关依赖 在pom文件中导入MyBatis相关依赖jar文件 安装lombok 在File->Settings Pugins 中安装lombok 要想启动lombok的话还需要在B…

GPT带你飞:Chat GPT吊打面试官,实时获取答案,分享调用OpenAI API key+完整源码脚本哦!

目录 福利:文末纯分享中文版CHAT GPT镜像,不存在魔法,纯分享免费使用 故事发生了 火爆GitHub 所以大家注意 网友看了之后调侃到,为了防止线上面试作弊,以后只好把面试都改成线下了。 如何安装 既然是调用GPT的AP…

nodejs基于vue的汽车订票客运站售票网站

使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理员负责审核会员充值,审核客户购票信息以及会员购票信息,管理客运班次与留言板,管理会员等级。客户查看客运班次,购买并支付车票&…

【Selenium】常用的Selenium基础使用模板和简单封装

前言 近来又用上了 Selneium ,因为反复用到,所以在这里将一些常用的方法封装起来,方便后续的使用。 在这篇文章中,我们将探讨 Selenium 的基础模板和基础封装,以便更好地理解 Selenium 的使用方法。 在Selenium的使用…

python基础----03-----if语句、while、for循环、range语句、continue和break

一 布尔类型和比较运算符 1.1 布尔类型和比较运算符 定义变量存储布尔类型数据:变量名称 布尔类型字面量。 布尔类型不仅可以自行定义同时也可以通过计算的来。也就是使用比较运算符进行比较运算得到布尔类型的结果。在C/C中,比较运算符称之为关系运算…

如何解决航空企业数字化转型中的痛点?

数字化时代,越来越多的企业开始关注数字技术,希望通过数字化改造提高企业效率和竞争力,为企业创造更多的商机和利润。今天就来同大家探讨航空领域,小程序在企业数字化转型中发挥的作用、 航空业员工端App的敏捷转型挑战 技术上的…

Java 异常机制:是Java 提供的一种识别及响应错误的一致性机制。

。 目录 友情提醒第一章、异常概述1.1)我们常说的异常是什么1.2)异常的作用1.3)Java异常体系和分类1.4)演示异常的产生 第二章、定义异常与抛出异常:throw2.1)自定义异常类:继承Exception或Run…

网络io与io多路复用select/poll/epoll

一、网络IO请求 网络I/O请求是指在计算机网络中,向其他主机或服务器发送请求或接收响应的操作。这些请求可以包括获取网页、下载文件、发送电子邮件等。网络I/O请求需要使用合适的协议和通信方式来进行数据传输,例如HTTP、FTP、SMTP等。 要完成一个完整…

字节面试过了,薪资都谈好了20K*13,结果挂在这里....

一般提到面试,肯定都会想问一下面试结果,我就大概的说一下面试结果,哈哈,其实不太想说,因为挺惨的,并没有像很多大佬一样 ”已拿字节阿里腾讯各大厂offer”,但是毕竟是自己的经历,无…

让效果图渲染做到最佳的几个小诀窍

制作出优秀的效果图需要多方面的技术支持,而渲染是其中非常关键的一步。一份精美的效果图需要经过高质量的渲染才能呈现出最佳的效果。本文将分享一些关于如何让效果图渲染做到最佳的小诀窍,包括专注的小细节、优化场景设置和灯光、纹理、图像应用最终修…

医疗电子红外线人体额温枪方案

在当前新冠疫情背景下,红外线人体额温枪成为疫情防控必备的设备之一。红外线人体额温枪采用红外线技术,无需接触人体,通过测量人体表面温度来判断人体是否发热。其测量快速、准确、不接触等特点,使其广泛应用于机场、车站、医院、…

数据结构之二叉树(Java)

在这里先说明一下,结点和节点其实一样的,无须关注这个。 一、树型结构 1. 概念:树是一种非线性的数据结构,它是由n个有限节点组成一个具有层次关系的集合。 如上图所示,把此种数据结构称作树是因为它看起来像一个倒挂…

校园高校教务选课成绩系统node.js+vue

系统主要实现了以下功能模块: 学籍信息 网上选课 网上评教,即对自己老师评分 任务查询,老师可以给学生发布任务(类似于作业,考试) 课表查询,希望有个图形化的课表,而不是表格式 教室…

Mysql InnoDB的Buffer Pool

Buffer Pool 在MySQL服务器启动的时候就向操作系统申请了⼀⽚连续的内存,他们给这⽚内存起了个名,叫做Buffer Pool(中⽂名 是缓冲池)。 默认情况下Buffer Pool只有128M⼤⼩,最⼩值为5M,通过修改配置文件设…

【Linux开发—多进程编程】

【Linux开发—多进程编程】 前言1,两种类型的服务端2,并发服务器的实现方法: 一,认识及应用1,进程认识2,CPU核的个数与进程数3,进程ID4,进程创建5, 调用fork函数后的程序运行流程: 二…

一文了解PWA——Progressive Web App

近年来,出现了一种新的应用开发模式——PWA(Progressive Web App,即渐进式Web应用)。今天就来为大家分享什么是PWA,以及它与小程序的区别、技术原理。 PWA的基本概念和技术原理 PWA是一种基于Web技术的应用开发模式&a…

基于CC2530设计智慧农业控制系统

一、项目背景 智慧农业是近年来发展迅速的领域,其目的是利用先进的传感技术、物联网技术和云计算技术等,实现自动化、智能化的农业生产管理,并提高农业生产效率和质量。本文基于CC2530设计了一种智慧农业控制系统,采用DHT11模块、BH1750模块和土壤湿度传感器等传感器,通过…

turtle和matplotlib画画:圆形、爱心

马上就要到六一儿童节了,小朋友很喜欢画画,这里就用Pyhton来画一些简单形状: 用turtle画圆形 import turtle# 设置画笔颜色和粗细 turtle.pencolor("black") turtle.pensize(5)# 绘制一个半径为100的圆形 turtle.circle(100)# 隐藏…

jsonp的实现原理

什么是跨域: 跨域是浏览器同源策略而产生的,在不同协议,不同端口,不同域名下(以上任意一个不同都算是跨域)的客服端和服务端之间是无法互相访问的。 举例: http://www.baidu.com/index.html …

Springboot +spring security,前后端分离时的security处理方案(一)

一.简介 在前后端分离这样的开发模式下,前后端的交互都是通过 JSON 来进行数据传递的,无论登录成功还是失败,都不会有服务端跳转或者客户端跳转之类的操作。 也就是说无论登录成功还是失败,服务端都会返回一段登录成功或失败的 …