8-12|go语言之输入

简介: 8-12|go语言之输入

在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提供了多种方法来从标准输入或其他源读取输入。选择哪种方法取决于你的具体需求。


相关文章
|
9天前
|
Shell Go API
Go语言grequests库并发请求的实战案例
Go语言grequests库并发请求的实战案例
|
1天前
|
安全 Go 数据处理
探索Go语言的并发之美:Goroutines与Channels
在Go语言的世界里,"并发"不仅仅是一个概念,它是一种生活的方式。本文将带你领略Go语言中Goroutines和Channels的魔力,它们是如何让并发编程变得既简单又高效。我们将通过一个简单的示例,展示如何使用这些工具来构建一个高性能的网络服务。
|
1天前
|
关系型数据库 Go 数据处理
高效数据迁移:使用Go语言优化ETL流程
在本文中,我们将探索Go语言在处理大规模数据迁移任务中的独特优势,以及如何通过Go语言的并发特性来优化数据提取、转换和加载(ETL)流程。不同于其他摘要,本文不仅展示了Go语言在ETL过程中的应用,还提供了实用的代码示例和性能对比分析。
|
1天前
|
Go 定位技术 索引
Go 语言Map(集合) | 19
Go 语言Map(集合) | 19
|
1天前
|
Go
go语言注释,标识符 | 17
go语言注释,标识符 | 17
|
3天前
|
存储 缓存 Go
go语言编程系列(五)
go语言编程系列(五)
|
3天前
|
搜索推荐 Java 编译器
go语言编程系列(四)
go语言编程系列(四)
|
5天前
|
安全 Go 调度
探索Go语言的并发模型:Goroutines与Channels的魔术
在这个快节奏的技术世界中,Go语言以其简洁的语法和强大的并发处理能力脱颖而出。本文将带你深入了解Go语言的并发模型,如何通过Goroutines和Channels来优雅地处理并发任务,以及它们如何帮助我们构建高效、可扩展的应用程序。
Go语言的条件控制语句及循环语句的学习笔记
本文是Go语言的条件控制语句和循环语句的学习笔记,涵盖了if语句、if-else语句、if嵌套语句、switch语句、select语句以及for循环和相关循环控制语句的使用方法。
Go语言的条件控制语句及循环语句的学习笔记
|
2天前
|
存储 缓存 安全
速成班!去繁存简,一文让你学会go语言基础!!
速成班!去繁存简,一文让你学会go语言基础!!