package main
import “net”
func main() {
//var 的变量声明还有更精简的写法
hight := 165
//这是go语言的推导声明写法,编译器会根据右值类型判断出左值的对应类型
//注意 : 由于使用了:=,而不是赋值的=,因此推导声明的写法,左值必须是没有定义过的变量
var a int
a:= 30
//报错No new variables on left side of := more... (Ctrl+F1)
//提示在:=的左边没有新变量的出现
//短变量声明在开发中的例子很多
conn,err := net.Dial("tcp","127.0.0.1:8080")
//net.Dial提供按指定协议和地址发起网络连接,这个函数有两个返回值,一个是连接对象,一个是err对象
//如果是标准格式会是下面这样
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")
conn2,err := net.Dial("tcp","127.0.0.1:8080")
//Unused variable 'conn2' more... (Ctrl+F1)编译器并没有报err重复定义错误
}