golang 简短变量声明注意事项

前端之家收集整理的这篇文章主要介绍了golang 简短变量声明注意事项前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


操作 := 只能用于方法内部,声明并初始化新的变量,不能用于已声明变量赋值

var v int = 0
v := 1 // 错误

:= 操作左边必须要有新变量,那么多个变量初始化只需要满足左边至少有一个新变量即可

f,err := os.Open(infile)
// ...
f,err := os.Create(outfile)//错误, f2,err:= os.Create(outfile) , //f,err = os.Create(outfile) 


func() (err error) {  
        aa,err := 1,errors.New(" a error") // a是新变量,err是被赋值  
        if err != nil {  
            return // 正确返回err  
        }  
              //  ------------------------------------------------  
        if bb,err := 2,errors.New("b error"); err != nil { // 此刻if语句中err被重新创建  
            return      // if语句中的err覆盖外面的err,导致编译  错误 (err is shadowed during return)  
        //解决方案----------------------------  
    	//if bb,err1 := 2,errors.New("b error"); err1 != nil {  
    	//  err = err1  
    	//  return  
    	//-------------------------------------  
     	} else {   
        	fmt.Println(bb)   
    	}   
    return   
}()
原文链接:https://www.f2er.com/go/188840.html

猜你在找的Go相关文章