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 小时前
最终的信号类
开发语言·c++·算法
echoarts5 小时前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
Aomnitrix5 小时前
知识管理新范式——cpolar+Wiki.js打造企业级分布式知识库
开发语言·javascript·分布式
每天回答3个问题5 小时前
UE5C++编译遇到MSB3073
开发语言·c++·ue5
伍哥的传说6 小时前
Vite Plugin PWA – 零配置构建现代渐进式Web应用
开发语言·前端·javascript·web app·pwa·service worker·workbox
小莞尔6 小时前
【51单片机】【protues仿真】 基于51单片机八路抢答器系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
我是菜鸟0713号6 小时前
Qt 中 OPC UA 通讯实战
开发语言·qt
JCBP_7 小时前
QT(4)
开发语言·汇编·c++·qt·算法
Brookty7 小时前
【JavaEE】线程安全-内存可见性、指令全排序
java·开发语言·后端·java-ee·线程安全·内存可见性·指令重排序
百锦再7 小时前
[特殊字符] Python在CentOS系统执行深度指南
开发语言·python·plotly·django·centos·virtualenv·pygame