Go 语言变量的使用

Go 语言变量

变量相当于在内存中一个数据存储空间的表示,通过变量名可以访问到变量(值)。

简单举个栗子

package main

import "fmt"

func main(){
	// 定义变量 也叫声明变量
	var i int
	// 给变量赋值
	i = 10
	// 使用变量
	fmt.Println("i=", i)
}

// 输出结果:i= 10

一、Go 变量 使用的三种方式:

第一种方式:指定变量类型,声明后若不赋值,使用默认值

package main

import "fmt"

func main(){
	// 第一种:指定变量类型,声明后若不赋值,使用默认值
	var i int
	fmt.Println("i=", i)
}

// 输出结果:i= 0   

int 默认值:0

string 默认值:空字符串

小数 默认值:0

第二种方式:根据值自行判断,变量类型(类型推导)

package main

import "fmt"

func main(){
	// 第二种:根据值自行判定变量类型(类型推导)
	var i = 10.66  // 10.66赋值给i变量, i的类型就是小数型;
    			  // 如果是 i = 10  i 类型就是int;
    			  // 如果是i = "10" i 类型就是字符串
	fmt.Println("i=", i)
}
// 输出结果:i= 10.66

第三种方式省略var

package main

import "fmt"

func main(){
	// 第三种 省略var
	name := "fe_cow"
	fmt.Println("name=", name)
}

// 输出结果:name= fe_cow

注意事项

  1. := 左侧的变量不应该是已经声明的,否则会导致编译错误;
  2. name := “fe_cow” 等同于 var name string name = “fe_cow”;
  3. := 不能忽略,否则会报错;

二、Go 多变量的声明:

在编程中,我们往往需要一次声明多个变量

第一种方式

package main

import "fmt"

func main(){
	var n1, n2, n3 int
	fmt.Println("n1=", n1, "n2=", n2, "n3=", n3)
}

// 输出结果:n1= 0 n2= 0 n3= 0

第二种方式

package main

import "fmt"

func main(){
	var mobile, name, age = 130000000, "fe_cow", 28
	fmt.Println("mobile=", mobile, "name=", name, "age=", age)
}

// 输出结果:mobile= 130000000 name= fe_cow age= 28

第三种方式

package main

import "fmt"

func main(){
	mobile, name, age := 130000000, "fe_cow", 28
	fmt.Println("mobile=", mobile, "name=", name, "age=", age)
}

// 输出结果:mobile= 130000000 name= fe_cow age= 28

三、Go 全局变量:

在 Go 中函数外部定义变量,就是全局变量;

第一种方式

package main

import "fmt"

var name = "fe_cow"
var age = 19
var mobile = 1300000000

func main(){
	fmt.Println("mobile=", mobile, "name=", name, "age=", age)
}

// 输出结果:mobile= 130000000 name= fe_cow age= 28

第二种方式(推荐使用)

package main

import "fmt"

var (
	name = "fe_cow"
	mobile = "1300000000"
	age = 18
)

func main(){
	fmt.Println("mobile=", mobile, "name=", name, "age=", age)
}

// 输出结果:mobile= 1300000000 name= fe_cow age= 18

四、使用 变量 注意事项:

  1. 该区域的数据值,可以在同一类型范围内不断变化:

    package main
    
    import "fmt"
    
    func main(){
    	var i int = 10
    	i = 20
    	i = 50
    	fmt.Println("i=", i)  // 以上操作都可成功
    	// i = 6.66  // 会报错, 原因是会改变数值类型
    }
    
  2. 变量在同一作用域(在一个函数或者在代码块)内不能重名:

    package main
    
    import "fmt"
    
    func main(){
    	var i int = 10
    	fmt.Println("i=", i)  // 以上操作都可成功
    	// var i int = 66   会报错, 不能重名
    	// i := 66    会报错, 不能重名
    }
    
发布了147 篇原创文章 · 获赞 170 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/Fe_cow/article/details/103796354