*result = SerializeResult(engineResult) 这地方可以不加*吗,传过来参数已经加*了
来源:18-7 实现爬虫服务

慕数据9351714
2022-10-12
func (CrawlService) Process(req Request, result *ParserResult) error方法中*result = SerializeResult(engineResult) 这地方的result可以不加*吗?方法参数中已经加过了
写回答
1回答
-
ccmouse
2022-10-15
还是需要加的,不然会编译错误。
这里加不加,看的是类型。result *ParserResult,说明result是指向ParserResult的指针。调用Process的人会生成一个ParserResult,把它的地址传给Process,由Process通过此地址填入ParserResult具体的值。
具体填入的动作就发生在*result = SerializeResult(engineResult)处,SerializeResult返回的是ParserResult,所以=左边也要是ParserResult类型,所以必须*result才是result所指向的ParserResult。所做的动作就是把SerializeResult返回的ParserResult填入result所指向的ParserResult
112022-10-15
相似问题