go语言常量与变量

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tangyaya8/article/details/86760371

为什么需要变量

在此之前,我们来做一个小的例子:
从1加到100

如果不用变量:

package main

func main(){
	fmt.Println(1+2+3+4+5+6+7+8+9+10+...+100)
}

用变量:

package main

func main(){
	var sum int
	for i := 0; i <= 100; i++ {
		sum += i
	}
	fmt.Println(sum)
}

从上述连个例子来看,变量的优势很明显,如果再将数字往大加,那么变量的优势更为明显,你只需定义一个变量,让代码逻辑对变量的值进行改变,无须你手动操作,其实,变量的出现也是计算自动化的一个小铺垫,所以,在现代的编程语言中,都有变量。我们来学习下golang的变量的定义和使用

变量

在go语言中有两种申明定义的方式

  1. 使用var关键字来申明定义变量或申明变量

    //申明变量
    var a int 
    //初始化变量
    a  = 10
    //使用变量
    fmt.Println(“the value of a is”,a)
    

    也可以申明和初始化一起

    var a int = 10
    //可以省略类型关键字,编译器可以根据后面的value推导出来
    var b = 20
    

    如果定义多个变量,可以用go预言中的块来定义:

    var(
    	a int
    	b string
    	c bool
    )
    

    也可以用这种方式:

    var a,b,c="hello",1,true
    
  2. 使用类型推导来申明定义变量
    除了上面的还可以使用:=推导出,这种方式将申明和初始化放在了一起,所以使用的时候要注意,并且推荐这种方式

    //申明并初始化变量
    a := “happy new year”
    //注意,在一个函数中,同名变量只能有一个,所以不能再下文重新定义名字为a的变量,但是可以给a赋值
    a="I want to change the value of a"
    fmt.Println("a value=",a)
    

    上面两种定义和初始化变量的方式,可以根据自己的情况来使用

常量

常量是定义的时候必须初始化,也就是给常量一个值,在go语言中,常量的定义用const关键字修饰

const a int = 20
//由于编译器可以根据后面的value推导出类型,所以可以省去类型
const b  = 10
//如果定义多个常量,可以用块
const(
	a string = "Hello World"
	b int = 39
)
//也可以用这种方式
const a,b,c = 10,"hello",true

常量,也就是在代码中不能改变的量,代码中的一些魔数可以用此方式,比如你使用了圆周率
就可以定义常量,然后在下文中使用

总结

变量有两种定义方式,一种可以定义但不初始化,一种将定义和初始化放在一起。
常量的定义和变量的一种定义方式类似,都要有关键字修饰,可以使用块定义。

猜你喜欢

转载自blog.csdn.net/tangyaya8/article/details/86760371