为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第1天 学习go语言,入门篇,为什么要用go语言

标签:
Go

课程名称深入Go底层原理,重写Redis中间件实战


课程章节:带你重新认识go语言 1~3


课程讲师Moody


课程内容

  1. 为什么要使用go语言

    △直接编译成二进制,不同于java的字节码

    △没有类似js那种虚拟化损失

    △自带运行环境,无需手动GC回收,由go底层的自动化GC完成

    △一次编译,可以适用多平台

    △超强并发支持能力和并发易用性

  2. 什么是runtime?

    语言在运行时的环境支撑。

    作为程序的一部分打包到二进制的产物。

    随用户本身的程序一起运行,没有界限,用户的程序可以直接通过函数调用runtime包

    runtime包本身功能强大,内存管理能力:比如内存分配;垃圾回收能力;超强并发;一系列常用应用:比如string的处理,网络,打印输出,日志等等

    runtime也屏蔽了一些底层编译调用,不同的CPU架构,不同的系统在runtime包里有不同的实现,这些无需用户关心,由runtime自己处理

    用户使用的一些关键字,比如go,new,make,均是runtime包里的一些函数

  3. go的编译过程

        输出编译过程  go build -n

        

        词法分析->句法分析->语义分析->中间码生成->代码优化->机器码生成->link(把*.a文件组合链接为exe文件)

        词法分析:把源代码变成token(最小语义结构)

        句法分析:把token变成语法树sst

        语义分析:推断和检查,逃逸分析

        中间码生成:SSA,生成与平台无关的中间码,处理平台差异,设置环境变量GOSSAFUNC 来查看中间码

        机器码生成:先生成plan9汇编,然后编译并输出机器码*.a文件


课程收获:

学习了go的一些基础,为后面的学习做准备

https://img1.sycdn.imooc.com//63176aac0001c82217461010.jpg


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
PHP开发工程师
手记
粉丝
2
获赞与收藏
4

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消