Go语言基础(二)定义变量

创建一个go文件

Go语言基础(二)定义变量_第1张图片

文件名称叫basic,选择Simple Application

Go语言基础(二)定义变量_第2张图片

程序入口

一个简单的HelloWorld示例,使用fmt的库来进行打印

package main

import "fmt"

func main() {
	fmt.Println("Hello World!")
}

定义一个变量

定义变量使用var关键字,变量名在前面,变量类型在后面,并将刚定义的变量值进行打印

go语言定义变量之后会有一个合理的初始值,int类型的是0,string类型的是个空串

func variable(){
	var a int
	var b string
	fmt.Println(a,b)
}

打印结果如下:

Go语言基础(二)定义变量_第3张图片

空串没有打印出来,如果想将空串打印出来使用printf,printf可以跟格式,%s是一个空串和刚才一样,改成%q的化可以将引号打印出来

func variable(){
	var a int
	var b string
	fmt.Printf("%d %q\n",a,b)
}

打印结果如下:

Go语言基础(二)定义变量_第4张图片

变量赋予初始值

可以一次定义多个相同的变量并赋予初始值,变量中间使用逗号进行分割

func variableInitValue(){
	var a,b int = 5,8
	var s string = "abc"
	fmt.Println(a,b,s)
}

运行结果如下:

Go语言基础(二)定义变量_第5张图片

编译器可以自动判断赋予的值是什么类型,因此定义变量的是可以省略类型

不指定变量类型

不指定变量类型的时候可以将所有的变量写到一行

func variableTypeDeduction(){
	var a,b,t,s = 5,8,true,"abc"
	fmt.Println(a,b,t,s)
}

运行结果如下:

Go语言基础(二)定义变量_第6张图片

上面的写法稍微有点繁琐,可以将其写成如下方式,再次对变量赋值时不能使用:=了,但是第一次使用变量必须使用冒号

func variableShoter(){
	a,b,t,s := 5,8,true,"abc"
	a = 66
	fmt.Println(a,b,t,s)
}

运行结果如下:

Go语言基础(二)定义变量_第7张图片

之上所有的变量定义都是在函数里面,在函数外面同样可以定义变量,但是此时必须使用var关键字。此时这些aa,bb,tt变量的作用域是包内,go语言没有全局变量

package main

import "fmt"

var aa = 123
var ss = "abc"
var tt = true

如上面定义三个变量使用了三个var,可以使用以下方式进行简写

var (
	aa = 123
	ss = "abc"
	tt = true
	)

 

你可能感兴趣的:(Go)