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
相关推荐
小虚竹18 分钟前
claude 3.7,极为均衡的“全能型战士”大模型,国内直接使用
开发语言·后端·claude·claude3.7
牛马baby26 分钟前
Java高频面试之并发编程-11
java·开发语言·面试
huangyuchi.33 分钟前
【C++11】类的新功能
开发语言·笔记·c++11·delete·移动构造·移动赋值·deflut
s9123601011 小时前
Rust std::thread::spawn(move) 的作用
开发语言·后端·rust
XWXnb61 小时前
STM32 中断系统深度剖析
c语言·开发语言·stm32·嵌入式硬件
冼紫菜1 小时前
Spring Cloud 项目中优雅地传递用户信息:基于 Gateway + ThreadLocal 的用户上下文方案
java·开发语言·spring boot·后端·spring cloud·gateway
了一li1 小时前
C#中用 OxyPlot 在 WinForms 实现波形图可视化(附源码教程)
开发语言·c#
时光话1 小时前
Lua 第14部分 数据结构
开发语言·数据结构·lua
晚上不睡觉的周某人2 小时前
Java应用7(类集)
java·开发语言·windows
码银2 小时前
Java Stream流
java·开发语言