声明变量方式一:基本方式

= 的使用必须先使用 var 声明

package main

import "fmt" 

func main(){
	var name = "Tom"  
	fmt.Println(name)
}

声明变量方式二:短变量声明

:= 是声明并赋值,不可用 var 关键字

只能在函数体内部使用短变量声明。编写 if、for 或 switch 语句时,经常将它安插在初始化字句中,以声明一些临时变量。

package main

import "fmt" 

func main(){
	name := "Tom"   
	fmt.Println(name)
}

go 语言类型推断的好处:便于代码重构。

正确:

package main

import "fmt" 

func main(){
	var name string
	name = "Tom"   
	fmt.Println(name)
}

出错:

package main

import "fmt" 

func main(){
	name = "Tom"      // 没有声明
	fmt.Println(name)
}

出错:

package main

import "fmt" 

func main(){
	var name string
	name := "Tom"      // 再次声明,会报错,如果 := 左边至少有一个新的变量,则对 name 进行了重声明,不报错
	fmt.Println(name)
}

出错:

package main

import "fmt" 

func main(){
	var name := "Tom"       // 重复声明
	fmt.Println(name)
}

 正确:

package main

import (
	"fmt" 
	"io"
	"os"
)

func main(){
	var err error
	n, err := io.WriteString(os.Stdout, "Hello, every!\n")   // := 左边至少有一个新的变量 n,则对 err 进行了重声明,不报错
	if err != nil {
		fmt.Printf("Error: %v\n", err) 
	}
	fmt.Printf("%d byte(s) were written.\n", n)
}

智一面王老师说运维推荐初级Golang开发工程师在线评测:http://www.gtalent.cn/exam/interview/FM2N7xj54dQBPfUE

王老师说运维之go语言菜鸟入门:http://www.codeforest.cn/course/474