liuyang1984

导航

全局变量

1.1 单个全局变量的声明与赋值  

package main

import "fmt"

var x int
var s string = "abc"

func main() {
	x = 100
	fmt.Println("x = ", x)
	fmt.Println("s = ", s)
}

运行结果如下: 

C:\Users\liuy\go\src\我的GO学习笔记\01变量>go run 01.01-变量.go

x =  100

s =  abc

知识点小结:

  变量的声明格式: var  <变量名称>  <变量类型>        如:var x int

  变量的赋值格式: <变量名称> = <表达式>           如:y = 100

  声明的同时赋值: var <变量名称> [变量类型] = 表达式     如:var s string = "abc"

  需要注意的是:变量声明与赋值分开时,变量的赋值需要在函数体内进行

  


1.2 多个变量的声明与赋值

package main

import "fmt"

var (
	a string
	b int
)

var s, n = "Hello, World!", 123

func main() {
	a, b = "Hi,go", 1
	fmt.Println("a=", a)
	fmt.Println("b=", b)
	fmt.Println("s=", s)
	fmt.Println("n=", n)
}

运行结果如下: 

C:\Users\liuy\go\src\我的GO学习笔记\01变量>go run 01.02-变量.go
a= Hi,go
b= 1
s= Hello, World!
n= 123

知识点小结:

  (1)  全局变量的声明可以使用var()的方式进行缩写

    如:var (
        a int

        b bool

        s string

      )

  (2)  全局变量的声明不可以省略var,但可以使用并行方式

  (3)  所有变量都可以使用类型推断  

  注意:局部变量不可以使用var()的方式简写,只能使用并行方式   var a,_,c = 1,2,3

 


1.3  类型零值 

package main

import "fmt"

var x int
var s string

func main() {
	fmt.Println("x=", x)
	fmt.Println("s=", s)
}

运行结果如下: 

C:\Users\liuy\go\src\我的GO学习笔记\01变量>go run 01.03-变量.go
x= 0
s=

 知识点小结:

  (1)  零值并不等于空值,而是当变量被声明位某种类型后的默认值,通常情况下:

    int类型的默认值为0,bool为false,string为空字符串

posted on 2018-09-21 16:29  yang2018  阅读(89)  评论(0)    收藏  举报