Go-err is shadowed during return
生活随笔
收集整理的這篇文章主要介紹了
Go-err is shadowed during return
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
where?
Go程序函數(shù)中在通過 return關(guān)鍵字返回的時候,報錯
why?
變量作用域的問題,在子作用域定義一個上層作用域的同名的變量
package mainimport ("errors""log" )func main() {Count(10) }func Count(num int) (err error) {// 函數(shù)中定義了一個 err變量if num <= 0 {// if分支中又重新定義了一個err變量err := errors.New("num數(shù)不合法")log.Fatalln(err)// 直接返回,并沒有返回參數(shù),在子作用域中,并不能直接返回上一層定義作用域中返回變量// 也就是說命名參數(shù)返回,只能返回同一級別作用域下參數(shù),不是同一級別作用域參數(shù)需要指明返回參數(shù)值return// 正確返回//return err}// 同一級別命名參數(shù)作用域,可以直接返回return }
way?
同一級別作用域命名參數(shù)可以直接通過 return返回,不需要接參數(shù),而不是同一級別作用域返回的時候,函數(shù)要求返回的參數(shù)跟在return后面
?
轉(zhuǎn)載于:https://www.cnblogs.com/2bjiujiu/p/9039862.html
總結(jié)
以上是生活随笔為你收集整理的Go-err is shadowed during return的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 删除弹出提示框_MVC
- 下一篇: opencv-3.3安装记录-ubunt