函数传参

来源:16-1 并发版爬虫架构

niuxiongwen

2019-07-25

老师好

func main()  {
	engine.Run(engine.Request{
		Url: "http://www.url.com/",
		PaeserFunc: parser.ParserCityList,
	})
}

在结构体中调用的ParserCityList为什么不用传参数呢,这个怎么理解呢

func ParserCityList(contents []byte) engine.ParseResult {}
写回答

1回答

ccmouse

2019-07-28

这是函数式编程。函数也像整数啊字符串啊那样可以传来传去。
我们这里不是要调用这个函数,而是告诉引擎,我们爬到的结果由ParseCityList这个函数来解析。此时我们并不知道那个contents会是啥。
引擎在运行时会去指定的url获取内容,当作contents参数传递给ParserFunc,这里这个ParserFunc就是ParseCityList。当然也可以指定其他的函数

1
1
niuxiongwen
非常感谢!
2019-07-29
共1条回复

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程