Go语言程序设计(八)数据输入输出

news2024/9/20 18:38:18

        Go语言提供了多种用于实现数据输入、输出的函数,这些函数在fmt包中实现。在输入、输出数据时,首先要导入fmt包,导入语句为:

import "fmt"

一、标准输出函数

        数据输出(Data Output),是计算机对各类输入数据进行加工处理后,将结果以用户所要求的形式输出到标准输出设备上(比如显示器)。在Go标准库的fmt包中,有三种标准输出函数: Print()、Printf()和Println()。

1、Print()函数

        Print()函数的功能是按照系统默认格式字符串和参数表,生成一个打印字符串,然后再将其输出到标准输出设备上,输出时会在操作数之间自动加上空格。Print()函数执行后会返回输出的字节数或错误类型,Print()函数原型定义如下:

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

         Print()函数不支持格式化输出,所以像回车、换行这些操作要用户自己来控制。

2、Println()函数

        Println()函数和Print()函数的功能基本一致,不同的是Println()函数会在输出结束后再自动输出一个换行,Println()函数的原型定义如下:

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

3、Printf()函数

前面介绍的Print()和Println()函数都是采用默认格式输出数据,如果要按照更灵活的格式输出数据就要使用Printf()函数,Printf()函数的原型定义如下:

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

        ftm包中的Printf()函数类似于C语言的printf()函数,会按照格式化(format)字符串将操作数格式化输出到标准输出设备上,Printf()函数也会返回输出的字节数和错误类型。

        Go语言提供的格式化字符串类型非常丰富,其含义和作用如表3-1所示。

二、标准输入函数

        数据输入(DataInput)是当程序在运行过程中,将系统外部原始数据通过标准输入设备传输给系统内部,并将这些数据以外部格式转换为系统便于处理的内部格式的过程,其方式与使用的输人设备密切相关(比如键盘)。在Go标准库fmt包中,有三种标准输入函数Scan()、Scanf()和Scanln()。

1、Scan()函数

        Scan()函数的功能是从标准输入设备读取数据,并将使用空格分割的连续数据顺序存入到参数里,换行也将被视为空格。Scan()函数调用成功,返回正确读取的参数的数量n;如果少于要求提供的参数数量,函数返回err并报告错误原因。

Scan() 函数的原型定义如下:

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

2、Scanln()函数

        Scanln()函数的功能是从标准输入设备读取数据,并将使用空格分割的连续数据顺序存入到参数里。Scanln()函数调用成功,返回正确读取的参数的数量n;如果少于要求提供的参数数量,函数返回err并报告错误原因。
        从上面的说明可以看出,Scanln()函数的功能类似于Scan()函数,但Scanln()函数会在读取到换行符时终止录入数据,并且在存入最后一条数据时必须有换行或结束符。

Scanln()函数的原型定义如下:

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

3、Scanf()函数

        Scanf()函数的功能是按照格式化字符从标准输入设备读取数据,并将所读取的数据顺序存入到参数里。Scanf()函数调用成功,返回正确读取的参数的数量n;如果少于要求提供的参数数量,函数返回err并报告错误原因。

Scanf() 函数的原型定义如下:

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

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

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

相关文章

OpenCV使用`clone()`函数来进行深度拷贝,拷贝后的`image_clone`修改不会影响原始图像`image`

这是完整的代码: #include <opencv2/opencv.hpp>int main() {// 创建一个白色的图像cv::Mat image(500, 500, CV_8UC3, cv

SpringCloud微服务(三)RabbitMQ、SpringAMQP、elasticsearch、DSL、MQ、ES详细介绍

目录 一、初始MQ 同步调用 异步调用 什么是MQ 执行下面的命令来运行MQ容器&#xff1a; 如果冲突了&#xff0c;可以先查询 RabbitMQ概述 常见消息模型 HelloWorld案例 二、SpringAMQP 引入依赖 Work Queue 消费预取限制 ​编辑 发布、订阅 发布订阅Fanout Ex…

作物计数方法之合并信息生成json标签的方法

在研究农情的方向中&#xff0c;作物计数是一个很重要的方向&#xff0c;前文已经提到了一些要使用的方法 前文链接&#xff1a;作物计数方法汇总_追忆苔上雪的博客-CSDN博客 在研究计数过程中&#xff0c;还需要将上文处理过的数据信息存入json文件方便后续使用&#xff0c;这…

Array.from详解

德玛玩前端 2023-07-07 在以往的开发中&#xff0c;对于Array.from的了解是from是Array的静态方法&#xff0c;可以将类数组和迭代对象转换为数组&#xff0c;可以结合Set集合快速实现数组的去重&#xff0c;一直以为Array,from()只有一个参数&#xff0c;不是传类数组就是可迭…

idea打包项目时报错 There are test failures

出现这个错误时要点击跳过测试类的按钮&#xff0c;图中的这个圆圈&#xff0c;可以看到test已经被划掉了 再点击package打包&#xff0c;成功。

启航RK3588边缘计算之旅:保定飞凌OK3588开发板

启航RK3588边缘计算之旅&#xff1a;保定飞凌OK3588开发板 引言&#xff1a; 随着人工智能技术的飞速发展&#xff0c;人们对于能够提供高性能和灵活性的智能设备有着极大的需求。作为人工智能领域的先锋企业&#xff0c;保定飞凌公司在设计和生产高性能处理器方面取得了卓越的…

在服务器从零开始配置conda、pytorch、cv2

疯掉了 希望是最后一次 0.配置WinSCP和PUTTY 在Windows上使用PuTTY进行SSH连接-腾讯云开发者社区-腾讯云 1.配置conda 如何在Linux服务器上安装Anaconda&#xff08;超详细&#xff09;_linux安装anaconda_流年若逝的博客-CSDN博客 实验室远程登录Linux服务器并配置环境_远…

Linux性能优化实践——平均负载

平均负载&#xff08;Load Average&#xff09; 当我们输入uptime命令时&#xff0c; 这里有几个参数&#xff0c;解释如下 0:54 &#xff1a;当前时间&#xff1b;up 50 mins&#xff1a;系统运行时间&#xff1b;2 users&#xff1a;正在登录用户数&#xff1b;load avera…

活动回顾| 萌啦科技亮相第三届东南亚大会,用数据赋能助力东南亚出海新机遇!

“聚焦深耕”资源对接 6月30日&#xff0c;由DNY123东南亚卖家导航主办的聚焦深耕——第三届东南亚电商本地化&品牌资源对接会在深圳圆满结束。 本次对接会以"聚焦深耕"为主题&#xff0c;旨在推动东南亚电商业务的本地化发展&#xff0c;并促进品牌资源的互通与…

考研的尽头是考公?

2022年12月23日&#xff0c;作为中国诞生于互联网的职业考试培训行业市场领导者的粉笔有限公司&#xff08;“粉笔”或“公司”&#xff09; &#xff0c;早前通过港交所上次聆讯后开始招股。 据悉&#xff0c;粉笔计划发售20&#xff0c;000&#xff0c;000股股份&#xff08;…

win系统删除oracle数据文件恢复---惜分飞

有客户联系我们,说win平台下的数据库,在由于空间紧张,在关闭数据库的情况下删除的两个数据文件,导致数据库无法正常访问很多业务表,需要对其进行恢复,查看alert日志发现大概操作,删除文件之后,启动数据库失败 Completed: alter database mount exclusive alter database open E…

十八、Jenkins(centos7)执行接口自动化测试脚本,飞书推送测试结果消息

十八、Jenkins&#xff08;centos7&#xff09;执行接口自动化测试脚本&#xff0c;飞书推送测试结果消息 1.创建 Freestyle project 项目 2. 输入git仓库地址 https://gitee.com/HP_mojin/pytest_allure_request_20220811 3. 增加构建步骤-Execute shell&#xff08;Jenkins…

TiDB架构中有多少个模块?核心的组件是哪个?

TiDB 集群主要包括三个核心组件&#xff1a;TiDB Server&#xff0c;PD Server 和 TiKV Server。此外&#xff0c;还有用于解决用户复杂 OLAP 需求的 TiSpark 组件和简化云上部署管理的 TiDB Operator 组件。 TiDB架构图解 1. TiDB Server TiDB Server 负责接收 SQL 请求&…

【数据结构导论】第 4 章:树和二叉树

目录 一、树的基本概念 &#xff08;1&#xff09;树的定义 &#xff08;2&#xff09;树的逻辑表示 &#xff08;3&#xff09;树的相关术语 &#xff08;4&#xff09;树的基本运算 二、二叉树 &#xff08;1&#xff09;二叉树的基本概念 ① 定义 ② 特点 ③ 二叉…

【玩转 Cloud Studio】- 云编程之旅

Cloud Studio介绍 Cloud Studio 是基于浏览器的集成式开发环境&#xff08;IDE&#xff09;&#xff0c;为开发者提供稳定的云端工作站。在使用 Cloud Studio 时无需安装&#xff0c;打开浏览器即可快速启动项目。底层资源自动弹性扩缩&#xff0c;极大地节省成本&#xff0c;…

【课程总结】2023中科大-数字图像分析-期末考试试卷回忆版及往年考题汇总

2023中科大-数字图像分析-期末考试试卷回忆版及汇总 写在前面&#xff1a;一&#xff0c;2023-2024春 期末考试题目回忆二&#xff0c;往年考试题目回忆2.1 2017-2018秋2.2 2018-2019秋2.3 2018-2019 春2.4 2019-2020 秋2.5 2019-2020 春2.6 2020-2021 秋2.7 2021-2022 春2.8 2…

物联网会是下一个支柱产业吗?

近年来&#xff0c;物联网 (IoT) 无疑已成为一个重要且快速增长的行业。尽管绝对确定地预测未来具有挑战性&#xff0c;但许多专家和分析师认为&#xff0c;物联网有潜力成为支柱产业&#xff0c;对各个行业产生变革性影响。 物联网是指由可以收集、交换和分析数据的互连设备、…

Python学习笔记(十八)————python包相关

目录 &#xff08;1&#xff09;python包作用 &#xff08;2&#xff09;自定义python包 &#xff08;3&#xff09;导入自定义包 方式一&#xff1a; 方式二&#xff1a; &#xff08;4&#xff09;导入第三方包 ①pip安装 ②PyCharm安装 &#xff08;1&#xff09;pytho…

【数据挖掘】推荐系统(二):基于内容的推荐

五、基于内容的系统 5.1 基本原理 基于内容的系统根据用户偏好和配置文件生成建议。他们尝试将用户与他们以前喜欢的项目相匹配。项目之间的相似程度通常根据用户喜欢的项目的属性来确定。与大多数利用目标用户和其他用户之间的评级的协作过滤模型不同&#xff0c;基于内容的模…

设计模式之模板方法实现抽奖功能

1.项目背景 接到一个需求&#xff0c;实现电商营销模块的圆盘抽奖功能。如果大家有关注市面上的抽奖&#xff0c;大致也是圆盘抽奖、九宫格抽奖&#xff0c;随机抽球等等。尤其是电商行业&#xff0c;会有各种各样的活动&#xff0c;因此也会出现各式各样的抽奖&#xff0c;那…