既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
关键字 | 数据类型 | 备注 |
---|---|---|
byte | 字节型 | 8bit(位)、1字节 |
char | 字符型 | 16bit、2字节 |
boolean | 布尔型 | 真或假、1字节 |
short | 短整型 | 16bit、2字节 |
int | 整型 | 32bit、4字节 |
float | 浮点型 | 32bit、4字节 |
long | 长整型 | 64bit、8字节 |
double | 双精度 | 64bit、8字节 |
void | null(空) | 无返回值 |
enum | 枚举 | 新的类型 |
2. 与条件循环(流程控制)相关的关键字(13个):
关键字 | 含义 |
---|---|
if | 条件判断 |
else | 条件转折 |
do…while… | 循环语句 |
for | 表示循环 |
switch…cash… | 条件分支流程 |
default | 默认的分支 |
break | 结束本层循环,或跳出某层循环 |
continue | 跳出本次循环 |
return | 返回一个具有特定类型的值 |
instanceof | 判断某个对象是否为指定类型的实例对象 |
assert | 断言 |
if (关系表达式){语句块1} else{语句块2}
如果关系表达式的值为true,则执行语句块1,否则执行语句块2。
do {……} while(关系表达式)……
当关系表达式的值为true是继续循环。
for(表达式a; 表达式b; 表达式c)
表达式a用于流程控制的开始值,表达式b表示循环终止条件,表达式c通常用于控制循环的次数,一般会用一个int类型的变量类计数,如(int i=0; i<10; i++)。
switch(表达式)
{
case 常量表达式1:语句1;
…
case 常量表达式2:语句2;
default:语句;
}
如果表达式为常量表达式1,则执行语句1,如果表达式为常量表达式2,则执行语句2,以此类推,如果在所有case条件下都不成立时就执行default,default并不是必须的;case后的语句可以不用大括号;switch语句的判断条件可以接受int、byte、char、short,不能接受其他类型。
continue跳出本次循环,而break跳出本层循环。
instanceof:二元操作符,和==,>,<是同一类的。判断它左边的对象是否是它右边的类的实例,返回boolean类型的数据。
assert两种使用方法:
①assert:如果为true,则程序继续执行,如果为false,则程序抛出AssertionError并终止运行。
②assert <错误信息表达式> :如果为true,则程序继续执行,如果为false则程序抛出java.lang.AssertionError,并输入<错误信息表达式>。
3. 与修饰符相关的关键字(10个):
关键字 | 含义 | 用法 |
---|---|---|
public | 公有的 | 可跨包,所有类均可访问 |
protected | 受保护的 | 当前包内可用,可以访问当前类、同包、非同包的子类 |
private | 私有的 | 当前类可用,可以从一个包中的任何类访问类成员 |
static | 静态的 | 只有内部类可以使用static关键字修饰 |
final | 最终的不可被改变的 | 应用于类,以指示不能扩展该类(不能有子类) |
native | 本地 | native关键字的函数都是操作系统实现的, java只能调用 |
strictfp | 精确浮点 | 使得浮点运算更加精确,符合IEEE-754规范的 |
synchronized | 锁定当前对象 | 应用于方法或语句块,防止关键代码段一次被多个线程执行 |
transient | 声明 | 应用于类的成员变量,声明不用序列化的成员域 |
volatile | 同步机制 | 同一时间只有一个线程可以访问volatile变量,保证线程安全 |
访问控制修饰符:public、protected、private,应用于类、方法或字段(类中声明的变量),所有类成员的默认访问范围都是 package 访问,除非存在特定的访问控制修饰符,否则,可以从同一个包中的任何类访问类成员。
final的变量的值不能被改变,final的方法不能被重写,final的类不能被继承,final 关键字可以应用于方法,以指示在子类中不能重写此方法。一个类不能同时是 abstract 又是 final,abstract 意味着必须扩展类,final 意味着不能扩展类。一个方法不能同时是 abstract 又是 final,abstract 意味着必须重写方法,final 意味着不能重写方法。
native :以指示该方法是用 Java 以外的语言实现的。Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。
4. 与异常处理相关的关键字(5个):
关键字 | 含义 | 用法 |
---|---|---|
try | 捕获异常 | 用于包含可能引发异常的语句块 |
catch | 处理异常 | 用来在 try-catch 或 try-catch-finally 语句中定义异常处理块 |
finally | 有没有异常都执行 | 用在异常处理的最后一个语句块 |
throw | 抛出一个异常对象 | 用于引发异常,throw (异常对象); |
throws | 声明一个异常可能被抛出 | 应用于方法,以便指出方法引发了特定类型的异常 |
try{
……
}catch(类型b){
……
}finally{
……
}
try{……}中放置可能会发生异常的的语句块,catch(){……}用于抓住异常,{}定义当出现异常时的处理方法。finally{……}表示不管异常是否发生,都得进行finally{}中的处理。
throw是一个抛出去的动作,不能单独使用,throw (异常对象);
throws只用在一个方法的末端,表示这个方法体内部如果有异常,就把异常交给他的上级管理,自己不进行异常处理;可以单独使用,(修饰符)(返回值类型)(方法名)([参数列表])[throws(异常类)]{…},如: public void function() throws Exception{…}。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
辄止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!