设为首页 加入收藏

TOP

golang--获取和存储数量不定的输入数据
2018-10-19 15:52:34 】 浏览:58
Tags:golang-- 获取 存储 数量 不定 输入 数据

开始:一直有写博客的心,也一直在向大家推荐这种方式,现在终于轮到自己尝试开始写了!

目的: 记录自己的学习过程,以公开发布的方式让自己认真对待学习!

目录:

  1. 实用场景

  2. 错误分析

  3. 解决

1. 实用场景:

  经常会用到golang的控制台输入数据并获取数据存储下来。但是由于获取的数据的个数并不知道,需要根据其他的条件共同决定。

举个例子:1. 从控制台数据一个int数据来指示要获取数据的个数

     2. 根据第一步获取的数据,完成对应数据的获取和存储

输入:4

   4 0

   2 0

   0 8

   2 9

输出:[4 2 0 2] [0 0 8 9]

2. 错误分析:

  直接来看看我的错误: 

package main
import (
	"fmt"
)
func main() {
	var (
		N int
		H []int//定义一个空切片
		S []int
	)
	fmt.Scanln(&N)
	for i := 0; i < N; i++ {
		fmt.Scanln(&H[i], &S[i])//panic: runtime error: index out of range
	}
	fmt.Println(H, S)
}

  

分析:首先整体思路是对的,定义两个切片来存储获取的数据并用for循环来存储,但是忽略了定义的是一个空切片,在循环的时候不能进行遍历,所有报错了。

3. 解决:

  只有先找到错误并分析,才能解决问题	
package main

import (
	"fmt"
)

func main() {
	var (
		N int
		H []int
		S []int
	)
	fmt.Scanln(&N)
	for i := 0; i < N; i++ {
		var h, s int
		fmt.Scanln(&h, &s)//临时存储
		H = append(H, h)//追加到切片中
		S = append(S, s)
	}
	fmt.Println(H, S)
} 

输入:

2

0 8

2 0

输出:

[0 2] [8 0]

 
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇go 实现简单的加权分配 下一篇[日常] Go语言圣经-查找重复行

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目