变量定义要求 :Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字

在描述变量定义之前,先描述下go 语言的结构

package main

import "fmt"
import "math"

func main()  {

 // 定义单一变量
	 var age =18
	fmt.Println("my age is ",age)	
}

输出:my age is  18

// 定义多个变量

var width,height int = 100,50
	fmt.Println("width is ",width,"height is",height)
	
	输出: width is  100 height is 50

var (
		name = "zhangsan"
		age = 18
		job = "go"
		salary int
	)
	fmt.Println(" his name is",name, "age is",age, "job is",job, "salary is",salary)
	
	输出:  his name is zhangsan age is 18 job is IT salary is 0

go 的简短声明

简短声明的要求, := 左边的变量都有初始值 ,否则报错 例如 assignment mismatch: 3 variable but 2 values

name,age,job := "zhangsan",18,"IT"
	fmt.Println(name,age,job)

输出 :zhangsan 18 IT

简短声明的语法要求 := 操作符的左边至少有一个变量是尚未声明的

 x,y :=20,30
   fmt.Println("x is",x,"y is ",y)
   y,z := 40,50 
   fmt.Println("y is",y,"z is ",z)

正常输出: 

x is 20 y is  30
y is 40 z is  50


x,y :=20,30
x,y := 40,58
fmt.Println("x is",x ,"y is",y)

报错  no new variables on left side of :=,左边并没有尚未声明的变量