Go语言学习(12)读取excel表格之无限循环

接上期:Go语言学习(11)读取excel表格3
https://www.toutiao.com/i6932697118989681160/?group_id=6932697118989681160

上期使用了一个非常常见的循环:

for i := 0; i < 10; i++ {
		cell, _ := f.GetCellValue(sheetlist[0], "A"+strconv.Itoa(i+2))
		a.AppendText(cell + "\n")
	}

循环变量1:=0到i<10,也就是到i=9,每次递增1

有VBA或者其他语言基础的很容易就懂。有同学说,为什么讲了12期了,从来不讲基础语法,因为我假定学习GO语言的读者都可能有编程基础,GO语言很可能不是编程开学第一课,再讲基础语法没必要,再说网上到处都有也没必要细讲。

我学习的方式就是任务驱动,想要完成什么任务,带着任务去学习,学以致用。在实践在学习,在学习中实践。

当老板说这个表格你统计一下,你要被迫学习操作、函数、PQ,VBA

当老板说你把历年销售情况汇总一下,你要被迫学习Access,SqlServer,mysql各种数据库

当老板说你做内网网站,为各部门数据提供网络平台,你要学习PHP、JS、VUE

。。。。。。

各种任务层出不穷[流泪]

新任务:

上一期只读取了0-9个,会思考的同学会问:如何知道一列有多少数据呢?为可能预先知道有多少行吧?

循环算法:循环读取,读取到空格就停止。

func TextEdit_click(a *walk.TextEdit) {
	f, err := excelize.OpenFile("测试工作簿1.xlsx")
	if err != nil {
		fmt.Println(err)
		return
	}
	a.SetTextColor(walk.RGB(byte(255), byte(48), byte(48)))
	var sheetlist = f.GetSheetList()
	// 获取工作表中一整列
	i := 2    //从第2行读取
	for true {
		cell, _ := f.GetCellValue(sheetlist[0], "A"+strconv.Itoa(i))
		if cell == "" {
			break
		}
		i++
		a.AppendText(cell + "\n")
	}
	a.AppendText("\n")
	a.AppendText("欢迎关注“探索3000”")
}

i:=2 ==>给i赋值2,:=由编译器自动推断,这是使用变量的首选形式,但是它只能被用在函数体内,而不可以用于全局变量的声明与赋值。使用操作符 := 可以高效地创建一个新的变量,称之为初始化声明。

for true{} ==>这是非常有GO特色的无限循环,其中break表示退出,continue表示继续下一轮循环。

==表示条件判断

strconv.Itoa引用 了strconv包中的Itoa函数,它可以把整形数据转换成字符型数据

举报
评论 0