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
相关推荐
匠心网络科技32 分钟前
JavaScript进阶-ES6 带来的高效编程新体验
开发语言·前端·javascript·学习·面试
一只大袋鼠1 小时前
并发编程(三):线程快照统计・grep+awk+sort+uniq 实战详解
java·开发语言·多线程·并发编程
Hx_Ma161 小时前
前台模块以及分页逻辑
java·开发语言
亓才孓1 小时前
AspectJ和SpringAOP的区别
java·开发语言
大鹏说大话1 小时前
破局单体瓶颈:SQLParser 解析器的分层架构重构实战
开发语言
tod1131 小时前
C++ 核心知识点全解析(八)
开发语言·c++·面试经验
Ljwuhe1 小时前
C++类与对象(上)
开发语言·c++
十启树1 小时前
QGis开发环境部署
开发语言·gis·qgis
亚比囧1 小时前
Java基础--面向对象(二)
java·开发语言
乐观勇敢坚强的老彭2 小时前
c++寒假营day05
开发语言·c++·算法