Go语言基础-变量(1)

  1. 变量表示的是内存中的某一块存储空间。

3) 在这块存储空间里,有自己的名称和类型,也就是我们常说的变量名和数据类型。

3. 使用变量的三种方式

Go语言变量使用的三种方式:

(1) 指定变量类型,声明后若不复制,使用默认值,如int的默认值是0;


package main

import "fmt"

func main() {



var i int

//此处不做任何复制,直接输出结果



fmt.Println("i =", i)



}



输出结果:

在这里插入图片描述

(2) 根据值自行判定变量类型(类型推导);


package main

import "fmt"

func main() {



//var i int

//把这一行注释掉,不定义i的变量,直接在下面赋值

var i = 13.14

var num = 3



fmt.Println("i =", i)

fmt.Println("num =", num)



}



输出结果

在这里插入图片描述

也就是我们并没有给他指定类型,系统会自动推导,判断变量类型。

但这里要注意不定义数据类型和不赋值这两件事不能同时发生。

我们在第一条的时候,调到过可以不赋值,默认为0.,但不赋值也不赋值数据类型,全凭电脑自动帮你推导,行不通。

我们来测试下:


package main

import "fmt"

func main() {



//var i int

//把这一行注释掉,不定义i的数据类型

//var i = 13.14

//这里把赋值注释掉,不进行赋值





fmt.Println("i =", i)



}



在这里插入图片描述

太难为系统了,对不对。

(3) 省略var,=是赋值, :=是声明变量并赋值。

注意 :=左侧变量不应该是已经声明过的,否则会编译错误

正常写法:


package main

import "fmt"

func main() {



var name string



name = "itlaoxin"



fmt.Println("name =", name)



}



在这里插入图片描述

省略var之后的写法


package main

import "fmt"

func main() {



//var name string  此行注释掉,不写



name := "itlaoxin"



fmt.Println("name =", name)



}



执行结果

在这里插入图片描述

可以看到,如果不使用var,就需要在复制的时候加上:

也就是

var name string

name = “itlaoxin”

等价于

name := “itlaoxin”

但我建议大家使用第一种方式,别嫌麻烦,有时候麻烦点更容易理解。

4. 一次声明多个变量的多变量声明

学到这里之后,我们又遇到了一个问题,如果我们有多个变量,每个都需要确定数值类型,然后在赋值似乎有些麻烦。

我们来看个例子:


package main

import "fmt"

func main() {



var n1 = 100

var n2 = 200



var name ="itlaoxin"



fmt.Println(n1,n2,name)



}



输出结果

在这里插入图片描述

我们可以用下面的方法


package main

import "fmt"

func main() {



var (

 	n1 = 100

 	n2 = 200



 	name ="itlaoxin"



)



fmt.Println(n1,n2,name)

}



在这里插入图片描述

可以看到输出的结果是一样的,但是这里需要注意一点: ()写的时候要注意注意中英文。

5. 官方推荐的变量声明形式

我们平时的正常写法


package main

import "fmt"

func main() {



var f = 3.14

var a = 3.14

fmt.Println(a,f)



}



当我们这么写的时候,go编译器会默认设置为 float64, 如果你不接受默认类型可以改成float32

改成这么写:


package main

import "fmt"

func main() {



var f  int32 = 6

var a float32 = 3.14

fmt.Println(a,f)



}



但官网推荐的是下面的写法:


package main

import "fmt"

func main() {



var f  = int32(6)

var a = float32(3.14)

fmt.Println(a,f)



}



三. 变量的练习


小练习

抄写如下代码,通过代码回顾本小节的内容,并根据自己的理解,进行讲解。


package main

import "fmt"

func main() {



var x,y int

var(

	a int
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值