Go语言学习笔记3

Go语言学习笔记3

  • 指针使用细节
  • 常见的值类型和引用类型
  • 值类型和引用类型使用特点
  • 标识符的命名规则
  • 保留关键字
  • 算术运算符使用细节
  • 关系运算符使用细节
  • 逻辑运算符
  • 赋值运算符
  • 位运算符
  • 其他运算符
  • 运算符优先级


指针使用细节

值类型,都有对应的指针类型,形式为*数据类型,比如 int 对应的指针就是*int

常见的值类型和引用类型

1.值类型:基本数据类型 int 系列,bool,string,数组和结构体 struct
2.引用类型:指针,slice切片,map,管道 channel,interface 等都是引用类型

值类型和引用类型使用特点

1.值类型:变量直接存储值,内存通常在栈中分配
2.引用类型:变量存储的是一个地址,这个地址对应的空间才真正存储数据(值),内存通常在堆上分配,当没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾,由GC来回收

标识符的命名规则

1.由 26 个英文字母大小写,0-9,_ 组成
2.数字不可以开头
3.Golang 中严格区分大小写
4.标识符不能包含空格
5.下划线_本身在 Go 中是一个特殊的标识符,称为空标识符,可以代表其他的标识符,但是它对应的值会被忽略(比如:忽略某个返回值),所以仅能被作为占位符使用,不能作为标识符使用
6.不能以系统保留关键字作为标识符 一共25个,比如 break,if 等等

int,float32 都可作为标识符,但最好不要这样用

如果变量名、函数名、常量名首字母大写,则可以被其他的包访问;如果首字母小写,则只能在本包中使用,在Golang中没有 public,private 等关键字 可以简单理解为:首字母大写是共有的,首字母小写是私有的

保留关键字

break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var

除了保留关键字外,Go还提供了36个预定的标识符,其包括基础数据类型和系统内嵌函数

算术运算符使用细节

1.Golang 的自增自减只能当作一个独立语言使用,不能这样使用:

b := a++

2.Golang 的 ++ 和 – 只能写在变量的后面,不能写在变量的前面,即,只有a++ a--,没有++a --a

Golang的设计者去掉 C / Java 中自增自减容易混淆的写法,让Golang更加简洁,统一

关系运算符使用细节

1.关系运算符组成的表达式称为关系表达式
2.比较运算符==不能写成=

逻辑运算符

1.&&也叫短路与,如果第一个条件为false则不会判断第二个条件
2.||也叫短路或,如果第一个条件为true则不会判断第二个条件

Golang 中没有三元运算符

赋值运算符

1.赋值运算符顺序从右往左
2.赋值运算符的左边只能是变量,右边可以是变量、表达式、常量值

位运算符

1.& 按位与运算符,是双目的,运算规则为:同时为1,结果为1,否则为0
2.| 按位运算或,是双目的,运算规则为:有一个为1,结果为1,否则为0
3.^ 按位异或运算符,是双目的,运算规则为:两进位不同时,结果为1,否则为0
4.<< 左移运算符,左移n位就是乘以2的n次方
5.>> 右移运算符,右移n位就是除以2的n次方

其他运算符

1.& 返回变量存储地址
2.* 指针变量

运算符优先级

大致顺序为:
1.括号,++,–
2.单目运算
3.算术运算符
4.移位运算
5.关系运算符
6.位运算符
7.逻辑运算符
8.赋值运算符
9.逗号

你可能感兴趣的:(Go语言学习,golang,学习)