当前位置:网站首页>[Yugong series] go teaching course 005 variables in July 2022
[Yugong series] go teaching course 005 variables in July 2022
2022-07-07 14:40:00 【Yugong move code】
List of articles
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=10
num=20
fmt.Println(age,num) //10,20
Assign a variable to another variable as follows :
var age int =10
var num int
num=age
fmt.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 main
import "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 main
import "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 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)
}
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 .
边栏推荐
- Leetcode——剑指 Offer 05. 替换空格
- Oracle Linux 9.0 officially released
- Leetcode——236. 二叉树的最近公共祖先
- The world's first risc-v notebook computer is on pre-sale, which is designed for the meta universe!
- Analysis of arouter
- 一个程序员的水平能差到什么程度?尼玛,都是人才呀...
- 什么是云原生?这回终于能搞明白了!
- Five pain points for big companies to open source
- Oracle Linux 9.0 正式发布
- First choice for stock account opening, lowest Commission for stock trading account opening, is online account opening safe
猜你喜欢
Because the employee set the password to "123456", amd stolen 450gb data?
Full details of efficientnet model
KITTI数据集简介与使用
Substance painter notes: settings for multi display and multi-resolution displays
MicTR01 Tester 振弦采集模塊開發套件使用說明
[server data recovery] a case of RAID data recovery of a brand StorageWorks server
The longest ascending subsequence model acwing 1014 Mountaineering
多商戶商城系統功能拆解01講-產品架構
Pandora IOT development board learning (HAL Library) - Experiment 12 RTC real-time clock experiment (learning notes)
《微信小程序-进阶篇》组件封装-Icon组件的实现(一)
随机推荐
Full details of efficientnet model
设备故障预测机床故障提前预警机械设备振动监测机床故障预警CNC震动无线监控设备异常提前预警
多商户商城系统功能拆解01讲-产品架构
【服务器数据恢复】某品牌StorageWorks服务器raid数据恢复案例
Pinduoduo lost the lawsuit, and the case of bargain price difference of 0.9% was sentenced; Wechat internal test, the same mobile phone number can register two account functions; 2022 fields Awards an
Webrtc audio anti weak network technology (Part 1)
The longest ascending subsequence model acwing 1014 Mountaineering
6. Electron borderless window and transparent window lock mode setting window icon
Navigation - are you sure you want to take a look at such an easy-to-use navigation framework?
A laravel background management expansion package you can't miss - Voyager
electron remote 报错
PD virtual machine tutorial: how to set the available shortcut keys in the parallelsdesktop virtual machine?
Oracle non automatic submission solution
PLC:自动纠正数据集噪声,来洗洗数据集吧 | ICLR 2021 Spotlight
AWS learning notes (III)
PD虚拟机教程:如何在ParallelsDesktop虚拟机中设置可使用的快捷键?
Navigation - are you sure you want to take a look at such an easy-to-use navigation framework?
小米的芯片自研之路
Simple steps for modifying IP of sigang electronic scale
[server data recovery] a case of RAID data recovery of a brand StorageWorks server