【愚公系列】2022年7月 Go教学课程 005-变量

举报
愚公搬代码 发表于 2022/07/06 22:29:02 2022/07/06
【摘要】 一、变量 1.变量的定义变量来源于数学,用于描述计算机中的数据存储空间。变量可以通过变量名访问。在指令式语言中,变量通常是可变的;但在纯函数式语言(如Haskell)中,变量可能是不可变(immutable)的。在一些语言中,变量可能被明确为是能表示可变状态、具有存储空间的抽象(如在Java和Visual Basic中);但另外一些语言可能使用其它概念(如C的对象)来指称这种抽象,而不严格...

一、变量

1.变量的定义

变量来源于数学,用于描述计算机中的数据存储空间。变量可以通过变量名访问。在指令式语言中,变量通常是可变的;但在纯函数式语言(如Haskell)中,变量可能是不可变(immutable)的。在一些语言中,变量可能被明确为是能表示可变状态、具有存储空间的抽象(如在Java和Visual Basic中);但另外一些语言可能使用其它概念(如C的对象)来指称这种抽象,而不严格地定义“变量”的准确外延。

2.变量的作用

变量的作用就是在内存中标记和存储数据。

内存,全称内存储器。用于存放计算机运行过程中的数据。
在这里插入图片描述

计算机为了更好的存储数据,将内存分为不同的存储单元如下:
在这里插入图片描述
从内存中取出一个存储单元,存储相应的数据:
在这里插入图片描述
比如上述红色区域,变量名=区域的名字,数据就存在区域中

3.变量的声明和初始化

3.1 变量的声明

Go 是静态语言,所有变量在使用前必须先进行声明。声明的意义在于告诉编译器该变量可以操作的内存的边界信息,而这种边界通常又是由变量的类型信息提供的。在 Go 语言中,有一个通用的变量声明方法是这样的:
在这里插入图片描述

变量的使用

fmt.Println(a)

3.2 变量的初始化

在定义变量的时候可以赋值,这个过程称为变量初始化

var age int=10

在这里插入图片描述

3.3 变量的赋值

可以在变量定义完成之后再给变量赋值,先声明后赋值。

var age,num int 
age=10
num=20
fmt.Println(age,num) //10,20

将一个变量赋值给另一个变量如下:

var age int =10
var num int
num=age
fmt.Println(num) //10

注意:变量进行赋值会覆盖原有的旧值

3.4 案例:交换两个变量的值

临时变量

package main
import "fmt"
func main(){
	a := 1
	b := 5
	var t int 
	t = a
	a = b
	b = t
	fmt.Println("a = ", a, "b = ", b )
}

不使用临时变量

package main
import "fmt"
func main(){
	a := 1
	b := 5
	a = a + b
	b = a - b
	a = a - b
	fmt.Println("a = ", a, "b = ", b )
}

直接赋值

package main
import "fmt"
func main() {
    a := []int{1, 2}
    b := []int{3, 4, 5}
    a, b = b, a
    fmt.Println(`a:`, a)
    fmt.Println(`b:`, b)
}

总结

  • 变量声明:var变量名称变量类型
  • 声明多个变量:var变量名称1,变量名称…类型
  • 声明整型变量,默认值为0
  • 输出语句可以只使用一个Println函数,中间用英文半角逗号进行分割!
  • 可以将一个变量的值,赋值给另外一个变量,并且变量中原有的旧值被新值所覆盖。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。