Golang参数输入

Golang参数输入

1.命令行参数(os.Args)

go 复制代码
package main

import (
	"fmt"
	"os"
	"strconv"
)

func main() {
	for i, num := range os.Args[1:] {
		fmt.Println("参数"+strconv.Itoa(i)+": ", num)
	}
}
//输入:
//go run main.go 1 2 3 4
//输出:
// 参数0:  1
// 参数1:  2
// 参数2:  3
// 参数3:  4

2.bufio录入

首先新建一个bufio.NewScanner类型的input变量,然后扫描器从程序的标准输入进行读取。每次调用input.Scan()读取下一行,并将结尾的换行符去掉,通过调用input.Text()读取内容,Scan函数在读取到新行时返回true,否则返回false。

go 复制代码
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	inmap := make(map[string]int)
	input := bufio.NewScanner(os.Stdin)
	for i := 0; i < 4; i++ {
		input.Scan()
		inmap[input.Text()]++
	}
	for input, cnt := range inmap {
		fmt.Println(input, cnt)
	}
}

//输入:
// asas
// asas
// asasa
// asas
//输出:
// asas 3
// asasa 1
相关推荐
爱上语文4 分钟前
Springboot多种请求参数
java·开发语言·spring boot·spring
Smartdaili China4 分钟前
使用 Puppeteer-Cluster 和代理进行高效网络抓取: 完全指南
大数据·开发语言·网络·爬虫·php·puppeteer·代理服务器
Pandaconda7 分钟前
【计算机网络 - 基础问题】每日 3 题(十三)
开发语言·经验分享·笔记·后端·计算机网络·面试·职场和发展
梁辰兴34 分钟前
C语言 使用scanf函数时出现错误代码C4996
c语言·开发语言·scanf
chusheng18401 小时前
Python 中的 Socket 编程入门
开发语言·网络·python
ZHOUPUYU1 小时前
最新Kali Linux超详细安装教程(附镜像包)
linux·运维·服务器·开发语言·网络
讓丄帝愛伱1 小时前
SpringDataJpa自关联映射时出现StackOverflowError
java·开发语言
ihchenchen1 小时前
springboot国际化
java·开发语言
skywalk81632 小时前
爱速搭百度低代码开发平台
开发语言·低代码
-JOP-2 小时前
C++继承(上)
开发语言·c++