声明变量方式一:基本方式
= 的使用必须先使用 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