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
    评论
### 回答1: 很高兴为你推荐 Go 语言的中文基础入门教材。我推荐的是 "Go 入门指南" 这本书。这本书由阮一峰编写,是一本非常适合初学者学习 Go 的教材。它从 Go 语言的基本语法开始,一直讲到 Go 语言的高级特性,包括并发编程,网络编程,以及 Go 语言的工具链等。 另外,还有 "Go 编程基础" 这本书也是一本很好的 Go 语言入门教材。这本书由 AstaXie 编写,也是从 Go 语言的基本语法开始讲解,讲述的内容包括 Go 语言的数据类型、流程控制、函数、面向对象编程、并发编程等。 希望这些推荐能帮到你。 ### 回答2: 推荐《Go语言圣经》作为最新的中文基础入门教材,该书由美国Go语言的创始人之一Alan A.A. Donovan和Google工程师Brian W. Kernighan合著,由人民邮电出版社出版。该书以深入浅出的方式介绍了Go语言基础知识和核心概念,适合初学者入门使用。 《Go语言圣经》全书分为11个章节,从基础概念、基本语法和数据类型开始,逐步介绍了函数、指针、结构体、方法、接口、并发等高级特性。每个章节都配备了大量的示例代码和练习题,帮助读者理解和巩固所学知识。 这本书的亮点之一是它与Go语言官方文档相结合的方式,使得读者能够更好地理解和运用所学知识。此外,在讲解基础知识的同时,书中也涉及了一些实际应用场景,为读者提供了实践的机会。 《Go语言圣经》由于由Go语言的创始人之一和Google工程师合著,因此具有权威性和深度。该书的语言通俗易懂,适用于零基础或其他语言背景的读者。通过阅读和实践,读者能够掌握Go语言的基本语法和特性,为进一步的学习和应用打下基础。 ### 回答3: 在Go语言领域,有一本备受推荐和认可的中文基础入门教材是《Go语言入门指南》。这本教材由暮色短发撰写,是一本深受学习者欢迎的教程。 《Go语言入门指南》首先从介绍Go语言的历史和特点开始,帮助读者快速了解该语言的背景和优势。接着,教材详细讲解了Go语言的基本语法、数据类型、变量、函数、流程控制以及面向对象编程等核心概念。每个知识点都配有大量的代码实例和解释,让读者能够通过实践理解和巩固所学知识。 此外,《Go语言入门指南》还涵盖了常用的标准库和Go语言的并发编程,对如何使用这些特性进行了详细讲解。通过学习这些内容,读者可以掌握Go语言基础知识,并能够进行简单的项目开发。 这本教材的优点在于简洁明了,易于理解。作者结合自己的经验和实践,将复杂的概念和知识点讲解得浅显易懂。同时,配有丰富的实例和练习,帮助读者巩固所学内容。 总之,《Go语言入门指南》是我强烈推荐的Go语言基础教材。它适合初学者入门,也适合有一定编程基础的开发者进一步学习和提升。通过阅读这本教材,你可以有效地掌握Go语言基础知识,并能够运用到实际的项目开发中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

OneF1rst

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

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

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

打赏作者

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

抵扣说明:

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

余额充值