go变量

package main
import "fmt"

// ===========定义全局变量==========
var n1 = 100
var n2 = 200
var name = "jack"
// 上面的声明方式,也可以改成一次性声明
var (
	n3    = 300
	n4    = 900
	name2 = "mary"
)

func main() {

	// =============变量声明======================

	// golang的变量使用方式1
	// 第一种:指定变量类型,声明后若不赋值,使用默认值
	// int 的默认值是0 , 其它数据类型的默认值后面马上介绍
	var i int
	fmt.Println("i=", i)

	// 第二种:根据值自行判定变量类型(类型推导)
	// 省略变量类型,直接初始化,还有就是先声明在赋值
	var num = 10.11
	fmt.Println("num=", num)

	// 第三种:省略var, 注意 :=左侧的变量不应该是已经声明过的,否则会导致编译错误
	// 下面的方式等价 var name string   name = "tom"
	// := 的 :不能省略,否则错误
	name := "tom"

	//==================一次性声明多个变量=================

	var n1, n2, n3 int
	fmt.Println("n1=", n1, "n2=", n2, "n3=", n3)

	// 一次性声明多个变量的方式2 
	var n1, name, n3 = 100, "tom", 888
	fmt.Println("n1=", n1, "name=", name, "n3=", n3)

	// 一次性声明多个变量的方式3, 同样可以使用类型推导
	n1, name, n3 := 100, "tom~", 888
	fmt.Println("n1=", n1, "name=", name, "n3=", n3)

	// ==========数据值可以在同一类型范围内不断变化============
	var i int = 10
	i = 30
	i = 50
	i = 1.2 //int ,原因是不能改变数据类型
	// 变量在同一个作用域(在一个函数或者在代码块)内不能重名
	var i int = 59
	i := 99

}

  

你可能感兴趣的:(go变量)