golang标准输入

一直都是在leedcode上刷题,导致对golang标准输入输出不是很熟悉
目前的了解是,fmt包中的scan scanf scanln都会读到空格结束
所以要输入带空格的字符串就只能用bufio包
但是试了几种方法都是非阻塞式的,虽然在牛客oj上可以通过,但是没办法在本地ide上自己输入测试
请问大家是怎么解决这个问题的呢?#golang#
全部评论
可以参考下牛客的IO练习,一般用bufio.NewScanner来获取整行输入 input := bufio.NewScanner(os.Stdin) for input.Scan() { data := input.Text() }
1 回复 分享
发布于 2023-05-08 11:34 广东
请问这个读取输入错误的问题是在哪呀? package main import ( "bufio" "fmt" "os" "strconv" "strings" ) func main() { scanner := bufio.NewScanner(os.Stdin) scanner.Scan() str := scanner.Text() strArray := strings.Split(str, " ") n, _ := strconv.Atoi(strArray[0]) scanner.Scan() str = scanner.Text() strArray = strings.Split(str, " ") nums := make([]int, n) res := 0 ans := 0 for i := 0; i < n; i++{ nums[i], _ = strconv.Atoi(strArray[i]) res += nums[i] if nums[i] == 0{ ans++ } } for scanner.Scan(){ str = scanner.Text() strArray = strings.Split(str, " ") min, _ := strconv.Atoi(strArray[0]) max, _ := strconv.Atoi(strArray[1]) fmt.Printf("%v %v\n", res + min * ans, res + max * ans) } } 程序异常退出, 请检查代码"是否有数组越界等异常"或者"是否有语法错误" panic: runtime error: index out of range [1] with length 1 goroutine 1 [running]: main.main() /tmp/main.go:44 +0x34a
点赞 回复 分享
发布于 2024-03-17 11:43 广东
别用fmt,那玩意慢的要死,我被坑惨了
点赞 回复 分享
发布于 2023-05-21 09:59 天津
用bufio.NewReader 每次读一整行
点赞 回复 分享
发布于 2023-04-26 08:29 河南
uu找到工作了吗?
点赞 回复 分享
发布于 2023-04-14 16:06 陕西
m一下
点赞 回复 分享
发布于 2023-04-14 11:29 重庆

相关推荐

05-29 11:27
汕头大学 golang
程序员牛肉:简历写的像闹着玩,不太符合校招生的定位。 1.使用RestfulAPI风格的接口是一个很高大上的事情吗?你要面试官怎么提问?问你什么是Restful?同理包括你的使用gin框架,使用GORM框架。 2.使用Redis做缓存。这个也值得拿出来说吗?Redis延伸出来的问题你有解决吗?比如Redis与MySQL的数据一致性你解决了没有?Redis的缓存击穿穿透你解决了没有? 这些都是很基础的点了,你要面试官怎么提问你?给人一眼看过去就是不懂后端。而且你找的太晚了,面向26的暑期实习在三四五月份就已经招满了。 你现在这个点就很尴尬,本来国内用go的中小厂就不多,大多数都是Java。你还非要选go,选go就算了投递还这么晚。***月份就开秋招了,我估计你六七月也够呛都找到实习。大概率就是九月多找到实习之后准备春招。 找找学长看能不能包装一个实习吧,双非的同学先考虑不饿死再说。
点赞 评论 收藏
分享
06-03 21:05
门头沟学院 Java
点赞 评论 收藏
分享
评论
3
13
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务