当前位置:网站首页>[Yugong series] go teaching course 005 variables in July 2022
[Yugong series] go teaching course 005 variables in July 2022
2022-07-07 11:23:00 【Hua Weiyun】
One 、 Variable
1. Definition of variables
Variables come from mathematics , Used to describe the data storage space in a computer . Variable can be accessed by variable name . In imperative language , Variables are usually variable ; But in pure functional languages ( Such as Haskell) in , Variables can be immutable (immutable) Of . In some languages , Variables may be explicitly defined to represent variable states 、 An abstraction with storage space ( If in Java and Visual Basic in ); But other languages may use other concepts ( Such as C The object of ) To refer to this abstraction , Without strictly defining “ Variable ” Accurate extension of .
2. Role of variables
The function of variables is to mark and store data in memory .
Memory , Full name memory . It is used to store the data during the operation of the computer .
In order to better store data , The memory is divided into different storage units as follows :
Take a storage unit out of memory , Store the corresponding data :
For example, the above red area , Variable name = The name of the area , Data exists in the region
3. Variable declaration and initialization
3.1 Declaration of variables
Go It's a static language , All variables must be declared before use . The meaning of the declaration is to tell the compiler the boundary information of the memory that the variable can operate on , This boundary is usually provided by the type information of variables . stay Go In language , There is a general variable declaration method like this :
Use of variables
fmt.Println(a)
3.2 Initialization of a variable
You can assign values when defining variables , This process is called variable initialization
var age int=10
3.3 The assignment of a variable
You can assign values to variables after they are defined , Declare before assign .
var age,num int age=10num=20fmt.Println(age,num) //10,20
Assign a variable to another variable as follows :
var age int =10var num intnum=agefmt.Println(num) //10
Be careful : Assigning a value to a variable will overwrite the old value
3.4 Case study : Exchange the values of two variables
Temporary variable
package mainimport "fmt"func main(){ a := 1 b := 5 var t int t = a a = b b = t fmt.Println("a = ", a, "b = ", b )}
Do not use temporary variables
package mainimport "fmt"func main(){ a := 1 b := 5 a = a + b b = a - b a = a - b fmt.Println("a = ", a, "b = ", b )}
Direct assignment
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)}
summary
- Variable declarations :var Variable name variable type
- Declare multiple variables :var Variable name 1, Variable name … type
- Declare an integer variable , The default value is 0
- Output statements can use only one Println function , The middle part is separated by English half width commas !
- You can set the value of a variable , Assign to another variable , And the old value in the variable is overwritten by the new value .
边栏推荐
- MIF file format record
- 分布式数据库主从配置(MySQL)
- 互联网协议
- Leetcode - interview question 17.24 maximum submatrix
- QT | multiple windows share a prompt box class
- oracle常见锁表处理方式
- 学习笔记|数据小白使用DataEase制作数据大屏
- Still cannot find RPC dispatcher table failed to connect in virtual KD
- 'module 'object is not callable error
- Briefly introduce closures and some application scenarios
猜你喜欢
Shardingsphere sub database and table examples (logical table, real table, binding table, broadcast table, single table)
PostgreSQL中的表复制
[C #] the solution of WinForm operation zoom (blur)
Debezium同步之Debezium架构详解
2021-04-23
Mpx 插件
Learning notes | data Xiaobai uses dataease to make a large data screen
MPX plug-in
分布式数据库主从配置(MySQL)
Leetcode - interview question 17.24 maximum submatrix
随机推荐
学习笔记|数据小白使用DataEase制作数据大屏
解决VSCode只能开两个标签页的问题
mif 文件格式记录
面试被问到了解哪些开发模型?看这一篇就够了
Poj1821 fence problem solving Report
oracle常见锁表处理方式
electron添加SQLite数据库
The opacity value becomes 1%
STM32入门开发 NEC红外线协议解码(超低成本无线传输方案)
[encapsulation of time format tool functions]
Qt|多个窗口共有一个提示框类
Une fois que l'uniapp a sauté de la page dans onlaunch, cliquez sur Event Failure resolution
Deconstruction and assignment of variables
什么是高内聚、低耦合?
Seata 1.3.0 four modes to solve distributed transactions (at, TCC, Saga, XA)
网络协议 概念
Kitex 重试机制
Verilog 实现数码管显视驱动【附源码】
【问道】编译原理
A case of compiling QT file qmake compiling script