当前位置:网站首页>【愚公系列】2022年7月 Go教学课程 005-变量
【愚公系列】2022年7月 Go教学课程 005-变量
2022-07-07 09:21:00 【华为云】
一、变量
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=10num=20fmt.Println(age,num) //10,20
将一个变量赋值给另一个变量如下:
var age int =10var num intnum=agefmt.Println(num) //10
注意:变量进行赋值会覆盖原有的旧值
3.4 案例:交换两个变量的值
临时变量
package mainimport "fmt"func main(){ a := 1 b := 5 var t int t = a a = b b = t fmt.Println("a = ", a, "b = ", b )}
不使用临时变量
package mainimport "fmt"func main(){ a := 1 b := 5 a = a + b b = a - b a = a - b fmt.Println("a = ", a, "b = ", b )}
直接赋值
package mainimport "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函数,中间用英文半角逗号进行分割!
- 可以将一个变量的值,赋值给另外一个变量,并且变量中原有的旧值被新值所覆盖。
边栏推荐
- Graduation season | keep company with youth and look forward to the future together!
- 学习笔记|数据小白使用DataEase制作数据大屏
- Add a self incrementing sequence number to the antd table component
- Transaction rolled back because it has been marked as rollback only
- A case of compiling QT file qmake compiling script
- When initializing 'float', what is the difference between converting to 'float' and adding 'f' as a suffix?
- 互联网协议
- Interprocess communication (IPC)
- 请问申购新股哪个证券公司开户是最好最安全的
- Unity script generates configurable files and loads
猜你喜欢
在我有限的软件测试经历里,一段专职的自动化测试经验总结
From pornographic live broadcast to live broadcast E-commerce
electron添加SQLite数据库
Force buckle 1002 Find common characters
自动化测试框架
How to use cherry pick?
Unity script visualization about layout code
Verilog realizes nixie tube display driver [with source code]
shardingsphere分库分表示例(逻辑表,真实表,绑定表,广播表,单表)
The concept, implementation and analysis of binary search tree (BST)
随机推荐
Mpx 插件
什么是高内聚、低耦合?
Creative information was surveyed by 2 institutions: greatdb database has been deployed in 9 places
What if copying is prohibited?
关于在云服务器上(这里用腾讯云)安装mysql8.0并使本地可以远程连接的方法
Using ENSP to do MPLS pseudo wire test
Socket socket programming
[untitled]
常用sql语句整理:mysql
Laya common script commands
Vuthink正确安装过程
科普达人丨一文弄懂什么是云计算?
毕业季|与青春作伴,一起向未来!
Drive HC based on de2115 development board_ SR04 ultrasonic ranging module [source code attached]
JS array delete the specified element
Hash / (understanding, implementation and application)
使用MeterSphere让你的测试工作持续高效
滚动踩坑--UNI_APP(八)
Project ERROR: Unknown module(s) in QT: core gui
Input type= "password" how to solve the problem of password automatically brought in