golang月薪10k应该具有哪些知识?

对于程序员来讲,10K不是一个很高的要求和门槛。程序员

具体到Go语言来讲,如今接受大部分Go语言开发岗位的,仍是以大的BAT以及TMD等这些大的互联网公司开展业务为主。这些大厂的薪资和人员素质也决定了不会是10K这个水平。web

若是要必须用10K衡量一下技能点位的话,其实这个就是个基础岗位的薪水水平。具体来讲,只要掌握具有Go的一些语法,懂开发,能进行模块开发便可。按照下面的知识点来掌握:数据库

  • 基本语法编程

    • 进制及转换 进制、进制转换、机器数和真值、原码、反码与补码数组

    • 变量与常量 变量概念、声明变量、常量及声明、特殊常量iota网络

    • 布尔型Bool闭包

    • 数值型 整形、浮点型、byte、rune、uintptr并发

    • 字符串型app

    • 复合类型(派生类型) 指针类型、数组类型、结构化类型、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
来源:知乎

著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。

相关文章
相关标签/搜索