声明的返回值类型和实际的返回值类型不一致怎么也不报错呢?copy定义的返回值是(wint64,errerror)。在代码执行结束的时候直接return。并没有按照定义的返回。程序也没报错,这是我疑惑的地方packagemainimport("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}
2 回答
幕布斯6054654
TA贡献1876条经验 获得超7个赞
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就可以
添加回答
举报
0/150
提交
取消