对于程序员来说,10K不是一个很高的要求和门槛。
具体到Go语言来说,现在接受大部分Go语言开发岗位的,还是以大的BAT以及TMD等这些大的互联网公司开展业务为主。这些大厂的薪资和人员素质也决定了不会是10K这个水平。
如果要必须用10K衡量一下技能点位的话,其实这个就是个基础岗位的薪水水平。具体来说,只要掌握具备Go的一些语法,懂开发,能进行模块开发即可。按照下面的知识点来掌握:
基本语法
进制及转换 进制、进制转换、机器数和真值、原码、反码与补码
变量与常量 变量概念、声明变量、常量及声明、特殊常量iota
布尔型Bool
数值型 整形、浮点型、byte、rune、uintptr
字符串型
复合类型(派生类型) 指针类型、数组类型、结构化类型、Channel类型、函数类型、切片类型、接口类型(interface)、Map类型
运算符 算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、运算符优先级
分支循环
条件语句 if语句、switch语句、select语句、循环语句、for语句、终止循环语句、break语句、continue语句
数组与切片
数组 数组概念、数组声明与访问、声明数组与数组的初始化、访问数组元素、数组长度、遍历数组、多维数组、多维数组概念、多维数组的使用、数组类型
切片 切片概念、切片语法、切片的定义、切片的初始化、修改切片内容
len()与cap()函数
空切片
append()和copy()函数
集合Map
集合Map概念
Map的使用 make()创建map、delete()函数删除map元素、ok-idiom获取元素、map的长度len(map)、map类型--引用类型
字符串String
字符串概念
访问字符串元素
函数
函数概念
函数声明
函数的使用
函数多个返回值
空白标识符
函数可变参数
参数传递类型 值传递、引用传递
函数闭包 函数作为值、函数值使用步骤
Panic和Recover Panic、Recover
指针
指针概念
声明指针
指针取值 获取指针地址、获取指针存储内容值
空指针
修改指针变量值
函数参数指针传递
指针数组
指针的指针 指针的指针概念、作为函数参数传递
结构体
结构体概念
结构体定义
结构体初始化
访问结构体
结构体指针
结构体的匿名属性
结构体嵌套
提升字段
结构体和字段导出
结构体之间的比较
结构体作为函数参数
make、new对结构体的操作
方法
方法的定义
方法的语法 方法的定义、相同方法名不同参数的定义及调用
方法和函数 方法和函数的区别及比较
变量作用域 局部变量、全局变量、形式参数、指针接收者
method继承
method重写
接口
接口定义
接口语法 结构体实现接口方法、interface值、interface函数参数、嵌入interface
OOP编程
定义结构体和方法
New()函数替代构造函数
组成(Coposition)替代继承(Inheritance) 嵌入结构体实现组成、嵌入结构体的切片
多态性(Polymorphism)
错误处理
错误定义
错误编程演示
错误类型标示 从错误中提取更多信息、断言结构字段、断言方法、直接比较
自定义错误
defer语句
延迟的概念
延迟函数
延迟方法
延迟参数
堆栈的延迟
延迟的应用
defer函数的使用
包Package
包的概念
使用包的原因
main函数和main包 指定特定源文件属于包代码package、引入包的关键字import
并发Concurrency
并发的概念 什么是并发性、什么是并行性、并发与并行的区别、进程、线程、协程、概念及定义、区别与不同点
Goroutines Goroutines的定义、Goroutines的优势、主Goroutines、Goroutines的使用方法、启动多个Goroutines
通道channels 通道声明、通道数据的发送与接收、通道的阻塞性
死锁 死锁的概念
定向通道
关闭通道
缓冲通道
网络编程
网络编程基础 通信协议、TCP/IP协议、网络接口层、网络层、传输层、应用层、网络七层模型、IP地址和端口、IP地址、IPV4地址、IPV6地址、端口
TCP编程 TCP协议的定义、什么是套接字、服务端编程、客户端编程
UDP编程 UDP简介、UDP服务端编程
net模块其他属性和函数
反射
反射的来源 反射机制的定义、Java的反射机制
反射的使用
结构体 反射结构体解析属性和方法、反射结构体调用结构体方法、匿名结构体字段的处理、反射结构体修改结构体数据
以上内容看着可能挺多的,但是都属于最最基础的基础语法。掌握了以上的内容,基本就把go的基础语法搞懂了。
然后接下来再学一学Goweb的开发框架,就可以进行web开发了。比如beego,gin,iris,revel等这些框架,掌握了其中一到两个,就可以胜任公司项目的模块开发。
再学一些数据库的知识,掌握两个orm框架。到这里如果都掌握的还可以的话,15K应该是可以拿到的。
当然,Go除了Goweb开发外,还有其他很多很多可以应用的领域,比如集群,微服务平台,容器技术,云平台,区块链等等都是Go可以大展身手的领域。后面这些,就相对要高阶点的内容了。
作者:Davie
链接:https://www.zhihu.com/question/51650593/answer/638905105
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。