萌新求教!声明的返回值类型和实际的返回值类型不一致怎么也不报错呢?求解答!

声明的返回值类型和实际的返回值类型不一致怎么也不报错呢?
copy定义的返回值是(wint64,errerror)。在代码执行结束的时候直接return。并没有按照定义的返回。程序也没报错,这是我疑惑的地方
packagemain
import(
"io"
"os"
)
funcmain(){
copy("6.go","aaa.go")
}
funccopy(src,dststring)(wint64,errerror){
//打开文件
file,err:=os.Open(src)
iferr!=nil{
panic(err)
return
}
deferfile.Close()
file1,err1:=os.Create(dst)
iferr1!=nil{
panic(err)
return
}
deferfile1.Close()
io.Copy(file1,file)
return
}
慕侠2389804
浏览 329回答 2
2回答

幕布斯6054654

packagemainimport"fmt"funcmain(){name,age:=aa()fmt.Println(name,age)a:=bb()fmt.Print(a)}//return后面什么都不写,可以叫做隐式返回值吗?//return"xiaolan",18显式返回值吗?funcaa()(namestring,ageint){name="thomas"age=23;return//return"xiaolan",18}funcbb()(aint){a=1return}//如果返回定义的变量名称和方法内部定义的变量名称一样的话,//不用显式return。只写一个return就可以
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript