Go语言的程序实现控制台循环输入的功能

代码示例评论1阅读2分48秒

要求:

1. 程序应能够接收用户输入,并将其存储在字符串变量中。文章源自Golang编程指南-https://www.va26.com/work/333.html

2. 程序应能够解析该字符串,并将其转换为整数。 3. 程序应能够计算并输出该整数。文章源自Golang编程指南-https://www.va26.com/work/333.html

4. 程序应能够接收用户输入,并重复上述过程。文章源自Golang编程指南-https://www.va26.com/work/333.html

5. 程序应能够处理异常情况,如用户输入非字符串或非整数等。文章源自Golang编程指南-https://www.va26.com/work/333.html

控制台文章源自Golang编程指南-https://www.va26.com/work/333.html

以下是一个简单的Go程序,它满足了上述的所有要求:文章源自Golang编程指南-https://www.va26.com/work/333.html

package main  
  
import (  
	"bufio"  
	"fmt"  
	"os"  
	"strconv"  
	"strings"  
)  
  
func main() {  
	scanner := bufio.NewScanner(os.Stdin)  
	fmt.Println("请输入一个整数,输入 q 退出程序:")  
  
	for scanner.Scan() {  
		input := scanner.Text()  
  
		// 检查用户是否输入了退出指令  
		if strings.ToLower(input) == "q" {  
			break  
		}  
  
		// 尝试将输入字符串转换为整数  
		if num, err := strconv.Atoi(input); err == nil {  
			fmt.Printf("您输入的整数是:%d\n", num)  
		} else {  
			fmt.Println("输入无效,请输入一个有效的整数或输入 q 退出程序。")  
		}  
  
		fmt.Println("请输入一个整数,输入 q 退出程序:")  
	}  
  
	if err := scanner.Err(); err != nil {  
		fmt.Fprintln(os.Stderr, "读取错误:", err)  
	}  
}

这段代码首先初始化了一个bufio.Scanner实例来从标准输入读取数据。然后,它进入一个循环,在每次迭代中提示用户输入一个整数。如果用户输入了q,则程序退出循环并结束。文章源自Golang编程指南-https://www.va26.com/work/333.html

在每次迭代中,程序尝试将用户的输入转换为一个整数。如果转换成功,则打印出该整数。如果转换失败(例如,用户输入了一个非整数字符串),则打印出一个错误消息,并提示用户重新输入。文章源自Golang编程指南-https://www.va26.com/work/333.html

strconv.Atoi函数用于将字符串转换为整数。如果输入字符串不是一个有效的整数字符串,该函数将返回一个错误。程序通过检查这个错误来确定输入是否有效。文章源自Golang编程指南-https://www.va26.com/work/333.html 文章源自Golang编程指南-https://www.va26.com/work/333.html

 
  • 本文由golang编程指南作者原创,请勿恶意转载!
  • 转载请务必保留本文链接:https://www.va26.com/work/333.html
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证