学习笔记:go语言基本语法技术学习总结(一)|青训营;

60 阅读2分钟

前言:根据技术写作原理的要求,本笔记面向至少有c语言基础的同学,如果有python基础更好。在学习的时候,建议和已有知识相互勾连,这样一来学习的效率更高。

一、go语言特点:脱胎于c语言,但是比c更加简单

goc
1. 高性能,高并发2. 语法简单,学习曲线平缓3. 标准库丰富4. 工具链完善5. 静态链接6. 快速编译7. 跨平台8. 垃圾回收1. 简单紧凑,灵活方便2. 运算符丰富,表达能力强3. 面向过程,是结构化的程序设计语言4. 是中间语言,同时具有汇编语言和高级语言的优势5. 可移植性好6. 应用广泛,体现程序员水平
go继承了c寓言的一系列优点,又发挥出了自己的优势。c语言同样有丰富的标准库,但是垃圾回收需要自己处理,进行free(指针),防止出现内存泄漏

二、现实意义

有多家公司使用了go语言,包括但不限于字节、腾讯、美团、滴滴、百度……

go语言的部署简单,学习成本低

适配RPC、HTTP框架

三、go的基本语法

1.变量与常量

 goc
变量定义var a=””会自动确定变量类型根据变量类型的不同确定int, float, char等类型
变量赋值a:=3a=3
常量定义const a string=”const”#DEFINE A “const”

2.分支语句

 goc
if...elseif a==b{}else{}取消了括号,同时需要注意不能没有{},因为不是c中默认一条语句在if当中if(a==b) i++;if(a==b){i++;}else{}
switch...case与if{}else{}相同没有break就顺序执行

3.循环语句

 goc
for与条件语句相同,去掉()即可

4.数组

goc
var c[5] intint a[5]=
B:=[5]{1,2,3,4,5}Int b[5]={1,2,3,4,5}

5.切片

与python中的numpy使用方式相同,支持[:5],[2:5](包含左,不包含右)的操作

6.集合(映射)map

M:=make(map[string]int)

7.range

Go 语言中 range 关键字用于for循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回key-value对。

8.函数

与c中的函数不同,go支持有多个返回值,格式如下:

Func 函数名(变量名1 类型, 变量名2 类型) (返回值1 返回值1类型, 返回值2 返回值2类型){ return 返回值1,返回值2}

9.指针

和c一样,函数形参传递的是一个拷贝的内容,必须要传递指针才可以对原有进行修改。

(未完待续)