前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go语言学习之旅 1 - 简介

Go语言学习之旅 1 - 简介

作者头像
张云飞Vir
发布2020-03-16 16:41:16
3210
发布2020-03-16 16:41:16
举报
文章被收录于专栏:写代码和思考写代码和思考

Go 是编译型语言

要创建并运行 Go 程序,程序员必须执行如下步骤。

  1. 使用文本编辑器创建 Go 程序;
  2. 保存文件;
  3. 编译程序;
  4. 运行编译得到的可执行文件。

为什么要学习Go语言

最佳的平衡:快速编译,高效执行,易于开发。

Go语言的特性

语法简单 并发模型 Goroutine 是 Go 最显著的特征。它用类协程的方式来处理并发单元 并发编程变得极为容易,无须处理回调,无须关注线程切换,仅一个关键字,简单而自然。 搭配 channel,将并发单元间的数据耦合拆解开来,这对所有纠结于内存共享、锁粒度的开发人员都是一个可期盼的解脱 内存分配 垃圾回收 静态链接 将运行时、依赖库直接打包到可执行文件内部 标准库 其中值得称道的是 net/http,仅须简单几条语句就能实现一个高性能 Web Server, 工具链

Go语言为并发而生

大部分编程语言都没有有效的工具让程序可以轻易利用这些资源,Go语言从底层原生支持并发,无须第三方库,开发人员可以很轻松地在编写程序时决定怎么使用 CPU 资源。并发是基于 goroutine 的,goroutine 类似于线程,但并非线程。可以将 goroutine 理解为一种虚拟线程。Go语言运行时会参与调度 goroutine,并将 goroutine 合理地分配到每个 CPU 中,最大限度地使用 CPU 性能

多个 goroutine 中,Go语言使用通道(channel)进行通信,通道是一种内置的数据结构,可以让用户在不同的 goroutine 之间同步发送具有类型的消息。这让编程模型更倾向于在 goroutine 之间发送消息,而不是让多个 goroutine 争夺同一个数据的使用权。

程序可以将需要并发的环节设计为生产者模式和消费者的模式,将数据放入通道。通道另外一端的代码将这些数据进行并发计算并返回结果,如下图所示。

更多学习资料

http://docscn.studygolang.com/doc/ https://go-zh.org/# https://tour.go-zh.org/list

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Go 是编译型语言
    • 为什么要学习Go语言
    • Go语言的特性
    • Go语言为并发而生
    • 更多学习资料
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档