当前位置: 首页 > article >正文

【Go】01输入输出

输入

使用fmt进行输入

go的输入方法之一使用fmt包,分为以下三个方法

  • fmt.Scan

这种方法必须要将a和b的值全部给出来,才会结束语句块。

package main

import "fmt"

func main() {
	var a int
	var b int
	fmt.Println("请输入a和b:")
	fmt.Scan(&a, &b)
	fmt.Println(a, b)
}
  • fmt.Scanln

这种方式遇到换行结束输入,如果没有给出其它参数的值,那么它的值为默认值,适合用于非必填值使用。

package main

import "fmt"

func main() {
	var a int
	var b int
	fmt.Println("请输入a和b")
	fmt.Scanln(&a, &b)
	fmt.Println("a is:", a, "b is:", b)
}

  • fmt.Scanf

严格按照定义的格式输入,如果格式错误,错误的值也会为默认值。

package main

import "fmt"

func main() {
	var a int
	var b int
	fmt.Println("请输入a和b")
	& 获取地址 &a 获取a变量的内存地址
	fmt.Scanf("a=%d,b=%d", &a, &b)
	fmt.Println("a is:", a, "b is:", b)
}
请输入a和b
a=123,b=456   //必须按照定义的  a=%d,b=%d  格式输入,否则值为默认值。
a is: 123 b is: 456

使用bufio进行输入

在Go语言中,bufio 包提供了缓冲的I/O操作,能有效提升输入输出效率,尤其适用于频繁的小数据读写场景。
bufio 的核心优势
减少系统调用:通过缓冲区批量读写数据,减少底层系统调用次数。
灵活读取:支持按行、单词、自定义分隔符读取,或直接操作字节。

  • bufio.NewReader
    ReadString(delim byte):读取直到遇到分隔符(如 \n)。

从键盘输入换行符结束

package main

import (
	"bufio"
	"fmt"
	"os"
)
func main() {
	reader := bufio.NewReader(os.Stdin)
	fmt.Println("开始从键盘输入:")
	line, e := reader.ReadString('\n')
	//line, _ := reader.ReadString('\n') 
	//使用匿名变量 _ 接收错误的输出,可以不调用,否则必须调用e变量
	fmt.Println("line is :", line)
	fmt.Println("err is :", e)
}

输出

fmt输出

package main

import "fmt"

func main() {
	fmt.Print("hello")
	fmt.Print("world")

	//自动添加换行符
	fmt.Println("hello world!")

	//指定格式
	name := "tom"
	age := 21
	fmt.Printf("myname is %s , age is %d", name, age)
}

http://www.kler.cn/a/543775.html

相关文章:

  • 基于进化式大语言模型的下一代漏洞挖掘范式:智能对抗与自适应攻防体系
  • Spring 核心技术解析【纯干货版】- XIII:Spring 消息模块 Spring-Messaging 模块精讲
  • 【Antv G2 5.x】饼图添加点击事件,获取当前坐标数据
  • 2024年12月中国电子学会青少年软件编程(Python)等级考试试卷(六级)
  • depcheck检查node.js项目中未使用和缺失依赖的工具
  • RK3588视觉控制器与AI 算法:开启工业视觉检测新境界
  • WPF正则表达式验证输入是否包含中文字母数字,不能是纯符号
  • 基于 SpringBoot的流浪宠物管理系统【免费送】
  • chrome-mojo 概述
  • Linux基础18-C语言篇之运算符Ⅰ【入门级】
  • 深度学习-人脸识别 对用户面部特征进行提取和匹配,实现快速、准确的人脸识别解锁
  • 22、深度学习 - 自学之路 - 隐藏层常用激活使用tanh函数,输出层激活函数使用softmax函数,对MNIST进行升级后的程序展示。
  • 自然语言处理与词嵌入
  • 内网ip网段记录
  • MySQL中类似PostgreSQL中的string_agg函数--GROUP_CONCAT函数的使用
  • 算法——搜索算法:原理、类型与实战应用
  • 如果维护了多种语言版本的文本对应关系,另一种语言只需要将对应文本填入对应位置即可,这种情况应该如何实现自动填入
  • CEF132编译指南 MacOS 篇 - 构建 CEF (六)
  • 纯前端检查是否有发版,并提示用户刷新
  • 基于HTTPS的docker私有仓库搭建
  • 硬件学习笔记--40 电磁兼容试验-4 快速瞬变脉冲群试验介绍
  • Docker 的打包及基本使用
  • Unity学习part1
  • Docker Desktop Windows 安装
  • 场景速记排序算法
  • 网络安全之探险