导图社区 GO基本语法
描述了关于GO语言初学时使用的语法,附有代码。可以作为GO语言的对照学习入门。后期如有补充,将会做新的导图发布在作品页。
go 语言基本语法,附有代码示例。总结了基础语法、类型、内置类型、泛型等。干货满满,有需要的朋友赶紧收藏吧!
本书为计算机从业者介绍了计算机的组成、CPU、二进制的运算、内存、操作系统、程序运行、汇编、硬件控制、机器学习等内容,让读者深入了解程序是怎样从源文件经历各个过程在你的计算机中运行起来的,是计算机爱好者和从业人员必读的科普书籍。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
GO基本语法
基础语法
main函数
package 声明
可以和名字目录不同
test文件的声明可以加上_test后缀
同目录下.go文件声明必须一致,test文件的声明也必须一致
访问性
大写就是包外可以访问
小写只能包内访问
基本类型
int家族(可以表达正负数)
int
int用几个字节取决于CPU
int8
1字节
int16
2字节
int32
4字节
int64
8字节
unit 家族(无符号整形)(只能表达正数)
uint
uint用几个字节取决于CPU
uint8
uint16
uint32
uint64
float家族
float32
4zijie
float64
string
拼接用 +
用strings包的辅助用法
Println()内的双引号“”内部的双引号“”需要做转义,否则会造成输出错误,转义时可以将要输出的内容写好后再复制到双引号内,让编译器自动转义
Println()也可以用反引号` `,反引号内部可以换行
字符串拼接时不能接数字,需要把数字先转成字符串再拼接,用strconv.Itoa(123),将123转成字符串
使用函数len()得到的是字符串的字节长度,不是字符个数。使用utf8.RuneCountInString()可以得到字符个数
byte类型
就是字节,本质上就是uint8,也用它来表示ASCII码,对应操作在bytes包里面
[ ]byte切片可以跟string 互相转化
var a [ ]byte = 'a'用单引号赋值时只能用单个字符,此时输出的是a的ASCII码值97
var a [ ]byte = "hello"用双引号赋值时可以给字符串
bool类型
且And:(a && b)
或Or:( a || b)
取反:(!a)
数学运算
math包有更多辅助用法
按住command点击包函数,就可以跳进包里面看相关解释
运算的双方必须是同一个类型,int和int64也不能一起运算,需在运算之前转成同类型。
整型与整型运算结果也是整型,若想得到精确数值,需转成浮点型再计算
变量
var a int = 123
a := 123
声明且赋值
GO的类型推断
只能用于局部变量
常量
const a int = 123
可以不带类型GO自己可以推断
无法修改
iota用法
控制常量初始化
可是使用iota的数学运算,包括位移运算
函数
定义
关键字func
函数名
参数列表
参数带不带名字都可以
同类型的紧挨在一起的参数可以一起声明类型
返回值
允许多个返回值
返回值可以有名字,名字作用域是整个函数
递归
函数式入门
函数作为变量
局部函数
函数作为返回值
匿名函数
闭包
上下文+函数
函数作为类型
不定参数
最后一个参数
等价于使用切片
defer
先进后出
确定值的原则
作为参数传递:定义的时候确定
作为闭包引入:使用的时候确定
修改返回值
只能修改带名字的返回值
实现原理
控制结构
for
for range循环
for i 循环
for condition循环
switch语句
可以有default 分支
不需要break
编译能通过说明可以switch
1
命名规则
首字母大小写控制了访问性
驼峰命名法
支持类型推断
推荐使用