请问我这样理解对不对

来源:6-4 接口的值类型

你笑就好

2020-06-30

老师好, 请问第17行进行注释, 第18行的变量r类型应该是struct了吧?
个人理解, 程序执行语法跳到第12行, 参数r由struct就转换成interface了, 不知道我这样理解对不对
图片描述

写回答

1回答

ccmouse

2020-06-30

go的所有函数传参都是值传递,也就是main里的r和download里的r是两个变量,只是在调用的时候,把main里的r赋值(拷贝)给download里的r。

所以,download里的r是Retriever类型,main里的r是Spider类型。go语言中变量的类型一经申明是不会改变的。

0
2
ccmouse
回复
你笑就好
interface不是被调用的,是一种类型。 var r Retriever申明r是一个变量,它的类型是Retriever。
2020-07-01
共2条回复

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

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

5995 学习 · 1909 问题

查看课程