Go语言基础入门

1.Go语言基础语法

a.关键字

var和const:变量和常量的声明
    package and import:导入
    func:用于定义函数和方法
    return:用于从函数返回
    defer someCode:在函数退出之前执行
    go:用于并行
    select:用于选择不同类型的通讯
    interface:用于定义接口
    struct:用于定义抽象数据类型
    break、case、continue、for、fallthrough、else、if、switch、goto、default流程控制
    chan用于channel通讯
    type用于声明自定义类型
    map用于声明自定义类型
    range用于读取slice,map, channel数据

b.变量

1.结构
	var <name> <type>=<value>

c.常量

1.结构
	const <name> <type>=<value>

2.Go运算符

a.算术与赋值运算符

1,算术运算符
 	a.结构
 		变量3:=变量1+变量2
 	

算术运算符是对数值类型的变量进行运算的,比如:加减乘除。

运算符描述
+相加
-相减
*相乘
/相除
%求余
++自增
自减

b.赋值运算符分析

1.结构
	变量 运算符 值

赋值一览表:赋值运算符就是将某个运算后的值,赋给指定的变量。

运算符描述
=简单的赋值运算符,将一个表达式的值赋给一个左值
+=相加后再赋值
-=相减后再赋值
*=相乘后再赋值
/=相除后再赋值
%=求余后再赋值
<<=左移后赋值
>>=右移后赋值
&=按位与后赋值
^=按位异或后赋值
|=按位或后赋值

c.关系与逻辑运算符

1.关系运算符(比较运算符)
1.结构
	变量 比较运算符 变量
2.解析:关系运算符也叫比较运算符,在Go语言中,关系运算符的结果都是bool型,也就是运算的结果要么是ture,要么是false,而通过关系运算符形成的关系表达式经常用在if结构的条件中或循环结构的条件中。

关系运算符一览:

运算符描述
==检查两个值是否相等,如果相等返回 True 否则返回 False。
!=检查两个值是否不相等,如果不相等返回 True 否则返回 False。
>检查左边值是否大于右边值,如果是返回 True 否则返回 False。
<检查左边值是否小于右边值,如果是返回 True 否则返回 False。
>=检查左边值是否大于等于右边值,如果是返回 True 否则返回 False。
<=检查左边值是否小于等于右边值,如果是返回 True 否则返回 False。
2.逻辑运算符
1.结构
	 变量 逻辑运算符 变量
2.解析:逻辑运算符用于连接多个条件(条件一般为关系表达式),最终的结果也是一个bool值。而在此结构中逻辑运算符&&也叫短路与,它代表的是如果第一个条件为false,则第二个条件不会判断,最终结果为false.与之对应的还有一个逻辑运算符||如果第一个条件为true,则第二个条件不会进行判断,最终结果为true.

关系运算符一览:

运算符描述
&&逻辑AND运算符,如果两边的操作数都是True,则条件为true,否则为false
||逻辑OR运算符,如果两边的操作数都是True,则条件为true,否则为false
逻辑NOT运算符,如果条件为True,则逻辑not条件为false,否则为true

d.运算符优先级

Go语言运算符优先级和结合性一览表:

优先级分类运算符结合性
1逗号运算符,从左到右
2赋值运算符=、+=、-=、*=、/=、 %=、 >=、 <<=、&=、^=、|=从右到左
3逻辑或||从左到右
4逻辑与&&从左到右
5按位或|从左到右
6按位异或^从左到右
7按位与&从左到右
8相等/不等==、!=从左到右
9关系运算符<、<=、>、>=从左到右
10位移运算符<<、>>从左到右
11加法/减法+、-从左到右
12乘法/除法/取余*(乘号)、/、%从左到右
13单目运算符!、*(指针)、& 、++、–、+(正号)、-(负号)从右到左
14后缀运算符( )、[ ]、->从左到右

**释义:**有些运算符拥有较高的优先级,二元运算符的运算方向均是从左至右。只有单目运算,赋值运算是从右往左运算的。

3.基础数据类型

a.布尔类型
1.结构
	var 标识符 bool=true(false)
	
 解析:布尔类型的数据声明关键字为bool,且布尔数据类型可取值一般只有两种true和false两种,当数据类型取值为true时,则代表为真,表示成立,二进制时则表示1为真,当数据类型取值为false,则代表为假,表示不成立,二进制时则表示0为假。
b.整型类型
1.结构
	var 标识符 int=<value>
	
 解析:整型是所有编程语言里最基础的数据类型。且需要注意的是整数类型的声明,都是按照Go的声明规则进行声明,需要注意的是,不同大小的整型类型是不能直接比较,不能直接运算,如果需要对两个不同类型的值执行运算操作,需要进行类型转换。
	

整数基础类型一览:

类型长度(单位:字节)说明值范围默认值
int1带符号8位整型-128~1270
uint81无符号8位整型,与 byte 类型等价0~2550
int162带符号16位整型-32768~327670
uint162无符号16位整型0~655350
int324带符号32位整型,与 rune 类型等价-2147483648~21474836470
uint324无符号32位整型0~42949672950
int648带符号64位整型-9223372036854775808~92233720368547758070
uint648无符号64位整型0~184467440737095516150
int32位或64位与具体平台相关与具体平台相关0
uint32位或64位与具体平台相关与具体平台相关0
uintptr与对应指针相同无符号整型,足以存储指针值的未解释位32位平台下为4字节,64位平台下为8字节0
c.字符串类型
1.结构
	 var 标识符 string = "<value>"
	 
2.解析:Go语言中的字符串以原生数据类型出现,使用字符串就像使用其他原生数据类型(int、bool、float32、float64 等)一样。Go 语言里的字符串的内部实现使用UTF-8编码。字符串的值为双引号(")中的内容,可以在Go语言的源码中直接添加非ASCII码字符。另外字符串是一种值类型,且值不可变,即创建某个文本后将无法再次修改这个文本的内容,更深入地讲,字符串是字节的定长数组。
d.浮点类型
1.结构
	var 标识符 float32= 赋值
	
2.解析:Golang 浮点类型有固定的范围和字段长度,不受具体OS(操作系统)的影响。,且在Go语言中的默认声明为float64类型,浮点数在机器中存放时主要分成三部分存储,分别为符号位,指数位,尾数位,而在具体的存储过程中精度会有丢失。这些浮点数类型的取值范围可以从很微小到很巨大。浮点数的范围极限值可以在math包找到。常量 math.MaxFloat32表示float32能表示的最大数值,大约是 3.403e38;对应的math.MaxFloat64常量大约是 1.798e308。它们分别能表示的最小值近似为 -3.403e38和 -1.798e308。
序号类型长度
1float321.401298464324817e-45~3.4028234663852886e+38
2float645e-324~1.7976931348623157e+308
e.字符类型
1.结构
	var 标识符 byte(rune)=赋值
	
2.解析:Golang中没有专门的字符类型,如果要存储单个字符(字母),一般使用byte来保存。字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。也就是说对于传统的字符串是由字符组成的,而Go的字符串不同,它是由字节组成的。go里面没有字符类型(char),而是使用byte(uint8)和rune(int32)来代表字符。声明一个字符时,默认是rune类型,除非特别定义。 一个string变量既可以被拆分为字符,也可以被拆分为字节;前者使用rune[]切片表示,后者使用byte[]切片表示。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OneF1rst

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值