go变量赋初值

Posted sea-stream

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go变量赋初值相关的知识,希望对你有一定的参考价值。

 

package main
import "fmt"

func variableinitial(){
    var a,b int=3,4
    var s string="abc"
    fmt.Println(a,b,s)
}
func main(){
    variableinitial()
}

输出

3 4 abc

 

变量后面的类型可以省略。此时,可以把不同类型的变量一起初始化。

var a,b,c,d,f =3,4,22,"iii",true 

   与     

a,b,c,d,f :=3,4,22,"iii",true

  等效。

 

package main
import "fmt"

func variableinitial(){
    a,b,c,d,f :=3,4,22,"iii",true
    var s string="abc"
    fmt.Println(a,b,c,d,f,s)
}
func main(){
    variableinitial()
}

输出

3 4 22 iii true abc

 注意:使用var 或者:=声明的变量,再次赋值时,直接赋值即可,如:b=7,不能再次使用var或者:=

以上说的都是函数内部变量,也可以在函数外部声明变量,但是必须使用var开始,且不能使用:=,因为go语言要求,函数外部的每行开始都要是go的关键字,所以必须以var开始,如:var c=6,这些变量我们称为包内部变量

如果外部变量较多时,可以使用括号,一次声明初始化多个变量,可以少写一些var

package main
import "fmt"
var (
 aa=3
 bb=7
 cc=9
 dd="kkk"
 ee=true
)
func variableinitial(){
    a,b,c,d,f :=3,4,22,"iii",true
    var s string="abc"
    fmt.Println(a,b,c,d,f,s,ee)
}
func main(){
    variableinitial()
}

输出;

3 4 22 iii true abc true

 

以上是关于go变量赋初值的主要内容,如果未能解决你的问题,请参考以下文章

结构定义时候成员不能赋初值

java所有变量定义时都要赋初值吗????

.为啥c语言里有的变量要赋初值,有的变量不用赋。

c++中定义一个变量一定要赋初值吗

c语言如何通过函数来改变已经赋初值的全局变量的值?

C语言中用const声明全局变量赋初值和不赋初值有何区别?变量存放位置有啥不一样?