前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >不得不学习的go语言知识

不得不学习的go语言知识

作者头像
宇宙之一粟
发布2020-10-26 10:15:26
3370
发布2020-10-26 10:15:26
举报
文章被收录于专栏:宇宙之_一粟

Author:宇宙之一粟 Time:2019年11月9日 10:35


Go的简介编程哲学

GO

Go语言具备哪些功能

  • 自动垃圾回收
  • 一个包系统
  • 函数
  • 词法作用域
  • 系统调用接口
  • 只读的UTF8字符串

Go语言没有的

  • 没有隐式的数值转换
  • 没有构造函数和析构函数
  • 没有运算符重载
  • 没有默认参数
  • 没有继承
  • 没有泛型
  • 没有异常
  • 没有宏
  • 没有函数修饰
  • 更没有线程局部存储

golang-768x446.jpeg

必学知识一、Go的并发

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

必学知识二、Go的基本内容

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

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

mechanic-tire.jpg

必学知识三、方法

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

必学知识四、接口

  • 基于顺序通信进程(CSP)概念的并发编程 使用goroutines和channnels处理并发编程
  • 传统的基于共享变量的并发编程

必学知识五、包机制和包的组织结构

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

必学知识六、单元测试

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

必学知识七、反射

一种程序在运行期间审视自己的能力。反射是一个强大的编程工具,不过要谨慎地使用;

利用反射机制实现一些重要的Go语言库函数,展示了反射的强大用法。

必学知识八、底层编程的细节

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

gogo.png

笔记借鉴于:Go语言圣经中文版,感谢各位译者的开源精神! 同时也放出Go语言圣经原版地址,Go语言创始人所著,值得推荐! 欢迎大家一起学习、一起进步。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Go的简介编程哲学
    • Go语言具备哪些功能
      • Go语言没有的
      • 必学知识一、Go的并发
      • 必学知识二、Go的基本内容
      • 必学知识三、方法
      • 必学知识四、接口
        • 必学知识五、包机制和包的组织结构
        • 必学知识六、单元测试
        • 必学知识七、反射
        • 必学知识八、底层编程的细节
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档