首页 > 其他分享 >8-12|go语言之输入

8-12|go语言之输入

时间:2023-08-12 23:35:00浏览次数:35  
标签:12 name fmt bufio go main 输入



在Go语言中,输入主要是通过标准库中的包来实现的。常用的包有 `fmt` 和 `bufio`。


以下是一些基本的Go输入方法:


1. **使用 `fmt.Scan()` 和相关函数**:

   

   `fmt.Scan()`, `fmt.Scanln()`, 和 `fmt.Scanf()` 是用于从标准输入读取值的常用方法。

   

   ```go

   package main


   import (

       "fmt"

   )


   func main() {

       var name string

       fmt.Print("Enter your name: ")

       fmt.Scanln(&name)

       fmt.Printf("Hello, %s!\n", name)

   }

   ```


   `fmt.Scanf()` 可以用于格式化的输入:


   ```go

   var age int

   fmt.Print("Enter your age: ")

   fmt.Scanf("%d", &age)

   ```


2. **使用 `bufio` 包**:

   

   对于更复杂的输入,例如读取整行,可以使用 `bufio` 包。

   

   ```go

   package main


   import (

       "bufio"

       "fmt"

       "os"

   )


   func main() {

       reader := bufio.NewReader(os.Stdin)

       fmt.Print("Enter your full name: ")

       name, _ := reader.ReadString('\n')

       fmt.Printf("Hello, %s", name)

   }

   ```


   使用 `bufio` 可以轻松地读取整行或直到指定的分隔符。


3. **错误处理**:


   在上面的例子中,我们忽略了错误(使用 `_`)。但在实际应用中,处理错误是很重要的。


   ```go

   name, err := reader.ReadString('\n')

   if err != nil {

       fmt.Println("An error occurred:", err)

       return

   }

   ```


总之,Go提供了多种方法来从标准输入或其他源读取输入。选择哪种方法取决于你的具体需求。

标签:12,name,fmt,bufio,go,main,输入
From: https://blog.51cto.com/wusen/7062589

相关文章

  • 8月5号到8月12号。假期周总结
    8月5号到8月12号。周日我看了一下Python的课程二进制编码,标识符保留四变量的定义使用,还有给变量赋值数据的类型。周一我学习了Python的输入输出运算符的使用方法,有运算符的优先级。还有分支结构,单分支结构,双分支结构,多分支结构,嵌套的分支结构。我还学习了一下条件表达式。周二我......
  • 做题记录:P3121 [USACO15FEB] Censoring G
    题目传送门:clickhere题意简化:给定一个文本串,和n个匹配串,删掉文本串中的匹配串求最后的字符串做这题之前应该先做简化版:eazymode上面这题用kmp+栈就能过以前如果用的是\(erase\)函数是错解,字符串的\(erase\)时间复杂度是常数级别的看到这道题后非常的高兴,直接打了个爆力跳......
  • kylin v10 安装 Oracle 19c/12c遇到问题汇总
    适用范围麒麟_v10_sp1_20200711Oracle19c/12c银河麒麟V10sp1内核版本redhat8.6内核版本遇到问题19c问题1PRVG-0282:failedtoretrievetheoperatingsystemdistributionIDOracle是不支持在银河麒麟上安装的,但由于银河麒麟也属于redhat系,我们就能伪装自己是redhat系统,从......
  • Django实现文件上传、文件列表查看、修改、限流和日志记录
    Django实现文件上传、文件列表查看、修改、限流和日志记录本章先简单实现文件的上传,后续会将标题的功能一一添加上去实现,并且给出远程服务器的不同连接方式【密码和秘钥】,欢迎继续关注。安装了Django框架pipinstalldjango 创建一个Django项目django-adminstartproj......
  • 学习go语言编程之常量
    什么在常量在Golang中,常量是指在编译期就已知且不可改变的值。字面常量在程序中硬编码的常量值被称为字面常量,如:-12//整数类型常量3.1415926//浮点类型常量3.2+12i//复数类型常量true//布尔类型常量"foo"//字符串常量常量定义使用关键字con......
  • 学习go语言编程之数据类型
    数据类型概述Golang语言内置了如下基础数据类型:布尔类型:bool整型:int8,unit8,int16,uint16,int32,uint32,int64,uint64,int,uint,uintptr浮点类型:float32,float64复数类型:complex64,complex128字符串:string字符类型:rune错误类型:error同时,Golang还支持如下复合类型:指针:pointer数组......
  • 学习go语言编程之流程控制
    Golang支持如下4种流程控制语句:条件语句:if,else和elseif选择语句:switch,case和select循环语句:for,range跳转语句:goto条件语句示例代码:a:=3ifa<5{fmt.Println(a,"litterthan5")}else{fmt.Println(a,"notlitterthan5")}关于条件语句,要注意以下......
  • 2023.8.12
    又是一周的结束,浅浅做个总结,这周主要有三天没有在家,没带电脑,出去玩了几天,也就没学多少,主要是有时间的时候在手机上做一下pta的题目,简单看了一下那个考试题目,感觉有点困难,看来还没完全学会,下周找一些资源视频什么的看一看,这周总结大概就是这样,下周继续努力。......
  • 2023.8.12 普及月赛记录
    比赛传送门按照往常的经验,A和B应该都问题不大,而且我不注重抢什么首杀,于是这次改变策略:C\(\rightarrow\)D\(\rightarrow\)B\(\rightarrow\)A。先看C。题目:queue。嗯~不错,原来是大模拟,出题人非常的CCF。看完感觉就是简单的维护几个队列的模拟,感觉难度不大。然后感觉自......
  • 暑期熔炉8月12
    运行时异常都是RuntimeException类及其子类异常,如NullPointerException、IndexOutOfBoundsException等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般由程序逻辑错误引起,程序应该从逻辑角度尽可能避免这类异常的发生。非运行时异常是指RuntimeExcept......