zoukankan      html  css  js  c++  java
  • golang月薪10k应该具备哪些知识?

    对于程序员来说,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
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    jQuery选择器
    js创建对象的几种方式
    call()和apply()
    js实现二分查找
    关于HTTP请求
    node/npm命令收集
    微信H5开发笔记——记录开发中用到的知识(手机摇动、事件捕获、wechat禁止分享、正则、promise...)
    css额外学习笔记
    gulp 结构和运行步骤——笔记1
    手机版H5开发--收集大神们的笔记
  • 原文地址:https://www.cnblogs.com/qf-dd/p/10690087.html
Copyright © 2011-2022 走看看