学习 Go 语言到底该学习什么 #私藏项目实操分享#

简介: 学习 Go 语言到底该学习什么 #私藏项目实操分享#

Go编程哲学

  • 自动垃圾回收
  • 一个包系统
  • 函数
  • 词法作用域
  • 系统调用接口
  • 只读的UTF8字符串
  • 没有隐式的数值转换
  • 没有构造函数和析构函数
  • 没有运算符重载
  • 没有默认参数
  • 没有继承
  • 没有泛型
  • 没有异常
  • 没有宏
  • 没有函数修饰
  • 更没有线程局部存储

Go的并发

基于CSP的并发特性;动态栈使得轻量级线程goroutine的初始栈很小,因此,创建一个goroutine的代价很小,创建百万级的gorountine完全是可行的。

Go的基本内容

基础部分

与主流命令式编程语言相似,方法、接口、并发、包、测试和反射等特性是Go特有的

  • 基本元素结构
  • 变量
  • 新类型定义
  • 包和文件
  • 作用域
  • 数字
  • 布尔值
  • 字符串
  • 常量
  • 如何显示和处理Unicode字符
  • 复合类型
  • 数组
  • 字典
  • 切片
  • 动态列表
  • 函数
  • 错误处理
  • panic和recover
  • defer语句

方法

  • Go语言的面向对象机制与一般语言不同,没有类层次结构,甚至可以说没有类;
  • 仅仅通过组合(而不是继承)简单的对象来构建复杂的对象。方法不仅可以定义在结构体上,而且,可以定义在任何用户自定义的类型上;并且,具体类型和抽象类型(接口)之间的关系是隐式的,所以很多类型的设计者可能并不知道该类型到底实现了哪些接口

接口

基于顺序通信进程(CSP)概念的并发编程

使用goroutines和channnels处理并发编程

传统的基于共享变量的并发编程

包机制和包的组织结构

如何有效地利用Go自带的工具,使用单个命令完成编译,测试,基准测试,代码格式化,文档以及其他诸多任务。

单元测试

Go语言的工具和标准库中集成了轻量级的测试功能,避免了强大但复杂的测试框架。测试库提供了一些基本构件,必要时可以用来构建复杂的测试构件。

反射

一种程序在运行期间审视自己的能力。反射是一个强大的编程工具,不过要谨慎地使用; 利用反射机制实现一些重要的Go语言库函数,展示了反射的强大用法。

更所底层编程的细节

在必要时,可以使用 unsafe 包绕过Go语言安全的类型系统      

相关文章
|
10天前
|
Go
go语言中的数据类型
go语言中的数据类型
11 0
|
16天前
|
Go 开发者
掌握Go语言:Go语言结构体,精准封装数据,高效管理实体对象(22)
掌握Go语言:Go语言结构体,精准封装数据,高效管理实体对象(22)
|
16天前
|
安全 Go
掌握Go语言:Go语言通道,并发编程的利器与应用实例(20)
掌握Go语言:Go语言通道,并发编程的利器与应用实例(20)
|
16天前
|
存储 缓存 安全
掌握Go语言:Go语言中的字典魔法,高效数据检索与应用实例解析(18)
掌握Go语言:Go语言中的字典魔法,高效数据检索与应用实例解析(18)
|
16天前
|
Go
使用Go语言发邮件
使用Go语言发邮件
20 2
|
28天前
|
缓存 安全 Java
Go语言小细节
Go语言小细节
36 0
|
1月前
|
存储 安全 Go
|
16天前
|
存储 安全 Go
掌握Go语言:Go语言类型转换,无缝处理数据类型、接口和自定义类型的转换细节解析(29)
掌握Go语言:Go语言类型转换,无缝处理数据类型、接口和自定义类型的转换细节解析(29)
|
1天前
|
前端开发 Java Go
开发语言详解(python、java、Go(Golong)。。。。)
开发语言详解(python、java、Go(Golong)。。。。)
|
10天前
|
存储 Java 编译器
go语言基础语法
go语言基础语法