错误的做法 //声明变量a var a int //声明变量a并给变量a赋值 a := 1 //错误提示 no new variables on left side of := //说明 重复声明变量a 声明不赋值的初始化值 整型和浮点型变量的默认值为 0,如var a int,默认a=0字符串变量的默认值为空字符串布尔型变量默认为 bool切片、函数、指针变量的默认为 nil 使用编译器推导类型 var a=10 //默认a为整型 特殊例子 正确 var conn net.Conn var err error conn, err = net.Dial("tcp", "127.0.0.1:8080") conn, err = net.Dial("tcp", "127.0.0.1:8080") 正确(特殊) //虽然err重复声明了,但是conn和conn2没有重复声明,只要有一个新声明,不会报错 conn, err := net.Dial("tcp", "127.0.0.1:8080") conn2, err := net.Dial("tcp", "127.0.0.1:8080") 错误 //重复声明了 conn, err := net.Dial("tcp", "127.0.0.1:8080") conn, err := net.Dial("tcp", "127.0.0.1:8080")