网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
- &变量名 :用于返回变量存储的地址 *变量名:一个指针变量
- 变量声明
变量声明和java有一定的区别,java中命名先进行类型的确定,而golang中先声明变量名,例如:var 变量名 变量类型,var demo int
- 条件运算符
- if-else:if语句在判断时不需要加()外,和Java一样,for循环也是不需要加()外其他都和Java一致,还有注意的是在if前可以执行一个赋值语句,跟 for 一样,
if
语句可以在条件之前执行一个简单的语句。由这个语句定义的变量的作用域仅在 if 范围之内 例如:
if v := math.Pow(x, n); v < lim{}
- switch:和java的区别在于可以对类型进行一个判断,基本语法和Java类似,如下:
switch var1 { case val1: ... case val2: ... default: ... }
要注意使用 fallthrough 会强制执行后面的 case 语句,fallthrough 不会判断下一条 case 的表达式结果是否为 true。
- golang中是没有while循环了,可以通过for循环来进行一个取代,如下:
for true{
fmt.Println(“aa”)
}
- select:以下描述了 select 语句的语法:
每个 case 都必须是一个通信
所有 channel 表达式都会被求值
所有被发送的表达式都会被求值
如果任意某个通信可以进行,它就执行,其他被忽略。
如果有多个 case 都可以运行,Select 会随机公平地选出一个执行。其他不会执行。
否则:
如果有 default 子句,则执行该语句。
如果没有 default 子句,select 将阻塞,直到某个通信可以运行;Go 不会重新对 channel 或值进行求值。
- 循环控制语句:break,continue,goto的区别。
continue:一般用于结束本次循环接着执行下次循环
break:break可以结合标签(lable)进行一个跳转,单独使用的话用于结束本轮循环,break和goto的区别在于,break对应的标签只能写在for循环前,goto对应的标签可以写在任意位置
- defer关键字:
-
defer 语句会延迟函数的执行直到上层函数返回。延迟调用的参数会立刻生成,但是在上层函数返回前函数都不会被调用。
-
defer 栈:延迟的函数调用被压入一个栈中。当函数返回时, 会按照后进先出的顺序调用被延迟的函数调用
- 结构体:
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**