Go语言适合做什么 ? | Go 技术论坛


本站和网页 https://learnku.com/articles/64206 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

Go语言适合做什么 ? | Go 技术论坛
Go
话题列表
社区 Wiki
优质外文
招聘求职
Go 实战教程
社区文档
登录
注册
Go
首页
Laravel
Go
PHP
Vue.js
Python
Java
MySQL
Rust
LK
Elasticsearch
F2E 前端
Server
程序员
Database
DevTools
Computer Science
手机开发
AdonisJS
社区
Wiki
教程
Go 实战教程首页
《G01 Go 实战:Web 入门》
《G02 Go API 实战》
《GX1 Golang 五分钟视频》
文档
社区文档首页
《高效的 Go 编程 Effective Go》
《Go Blog 中文翻译》
《Go 简易教程》
《Go 编程实例 Go by Example》
《Go 入门指南》
《Go 编程基础(视频)》
《Go Web 编程》
《Iris 框架中文文档》
《通过测试学习 Go 编程》
《Gin 框架中文文档》
《GORM 中文文档》
《Go SQL 数据库教程》
登录
注册
微信登录
Go语言适合做什么 ?
Laravel00 的个人博客
337
创建于 11个月前
文章来自公众号:Go 语言圈点击进入:Go 语言技术微信群
一、我们为什么选择Go语言
选择Go语言的原因可能会有很多,关于Go语言的特性、优势等,我们在之前的文档中也已经介绍了很多了。但是最主要的原因,应该是基于以下两方面的考虑:
执行性能毕竟是类C的执行速度,对于一些服务来说,性能是极其重要的一环,事关系统的吞吐、访问的延迟,进而会影响用户的体验,Go语言通过协程可以方便的实现并行处理,达到处理效率的最大化 ,提升系统的吞吐能力。
 开发效率GO语言使用起来简单、代码描述效率高、编码规范统一、上手快。通过少量的代码,即可实现框架的标准化,能快速的构建各种通用组件和公共类库,进一步提升开发效率,实现特定场景下的功能量产。
二、Go语言能做什么
Go 语言从发布 1.0 版本以来备受众多开发者关注并得到广泛使用,Go 语言的简单、高效、并发特性吸引了众多传统语言开发者的加入,而且人数越来越多。
鉴于Go语言的特点和设计的初衷,Go语言作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等;网络编程方面,Go语言广泛应用于Web 应用、API应用、下载应用等;除此之外,Go语言还适用于内存数据库和云平台领域,目前国外很多云平台都是采用Go开发。
服务器编程,以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。
分布式系统、数据库代理器、中间件等,例如Etcd。
网络编程,这一块目前应用最广,包括Web应用、API应用、下载应用,而且Go内置的net/http包基本上把我们平常用到的网络功能都实现了。
数据库操作
开发云平台,目前国外很多云平台在采用Go开发
三、国内外有哪些企业或项目使用Go语言
Go发布之后,很多公司特别是云计算公司开始用Go重构他们的基础架构,很多都是直接采用Go进行了开发,最近热火朝天的Docker就是采用Go开发的。
使用 Go 语言开发的开源项目非常多。早期的 Go 语言开源项目只是通过 Go 语言与传统项目进行C语言库绑定实现,例如 Qt、Sqlite 等;后期的很多项目都使用 Go 语言进行重新原生实现,这个过程相对于其他语言要简单一些,这也促成了大量使用 Go 语言原生开发项目的出现。
云计算基础设施领域代表项目:docker、kubernetes、etcd、consul、cloudflare CDN、七牛云存储等。
基础软件代表项目:tidb、influxdb、cockroachdb等。
微服务代表项目:go-kit、micro、monzo bank的typhon、bilibili等。-互联网基础设施代表项目:以太坊、hyperledger等。
采用Go的一些国外公司,如Google、Docker、Apple、Cloud Foundry、CloudFlare、Couchbase、CoreOS、Dropbox、MongoDB、AWS等公司;采用Go开发的国内企业:如阿里云CDN、百度、小米、七牛、PingCAP、华为、金山软件、猎豹移动、饿了么等公司。
四、写在最后
用这些标尺来量一下 Go 语言,我们可以清楚地看到:
Go语言容易上手;
Go语言解决了并发编程和写底层应用开发效率的痛点;
Go语言有 Google 这个世界一流的技术公司在后面;
Go语言的杀手级应用是 Docker,而 Docker 的生态圈在这几年完全爆棚了。
所以,Go语言的未来是不可限量的。当然,我个人觉得,Go 可能会吞食很多 C、C++、Java 的项目。不过,Go语言所吞食主要的项目应该是中间层的项目,既不是非常底层也不会是业务层。
也就是说,Go 语言不会吞食底层到 C 和 C++ 那个级别的,也不会吞食到高层如 Java 业务层的项目。Go 语言能吞食的一定是 PaaS 上的项目,比如一些消息缓存中间件、服务发现、服务代理、控制系统、Agent、日志收集等等,没有复杂的业务场景,也到不了特别底层(如操作系统)的中间平台层的软件项目或工具。而 C 和 C++ 会被打到更底层,Java 会被打到更上层的业务层。好了,我们再用上面的标尺来量一下 Go 语言的杀手级应用 Docker,你会发现基本是一样的。
最后,我还要说一下,为什么要早一点地进入这些新技术,而不是等待这些技术成熟了后再进入。原因有这么几个。
技术的发展过程非常重要。因为你可以清楚地看到了这种新技术的生态圈发展过程。让我们收获最大的并不是这些技术本身,而是一个技术的变迁和行业的发展。
从中,我们看到了非常具体的各种思潮和思路,这些东西比起 技术本身来说更有价值。因为,这不但让我们重新思考已经掌握的技术以及如何更好地解决已有的问题,而且还让我看到了未来。不但有了技术优势,而且这些知识还让我们的技术生涯多了很多的可能性。
这些关键新技术,可以让你拿到技术的先机。这些对一个需要技术领导力的个人或公司来说都是非常重要的。
一个公司或是个人能够占有技术先机,就会比其它公司或个人有更大的影响力。一旦未来行业需求引爆,那么这个公司或是个人的影响力就会形成一个比较大的护城河,并可以快速地产生经济利益。
还是那句话,多看看各种语言的生态,或许都并没有你想象的那么不堪。。。Go语言设计上确实不够“先进”,但也是另一种“务实”。其实go不管在国内还是国外已经很受待见了,国外google用的很多,uber也在用,国内有著名的今日头条,每日千亿级的访问妥妥的。多少语言终其一生都没有这么大的应用场景。
golang
go语言
本作品采用《CC 协议》,转载必须注明作者和本文链接
温馨提示:微信搜索并关注   学Laravel  里面有两套Laravel课程:【laravel7.x 从入门到核心架构讲解】 与 【Laravel高级实战教程42集】,直接获取就可以了,学习与交流可加入:Laravel技术交流微信群
举报
Laravel00
457 声望
资深程序猿 @ 平安科技
与你分享php领域各个知识点与个人学习笔记&&经验
2 人点赞
推荐文章:
更多推荐...
博客
GO面试题集锦快答[持续更新]
29
5个月前
博客
GoWeb框架Gin学习总结
19
11
5个月前
分享创造
PowerWeChat V2 - 微信SDK 全新发布
17
32
8个月前
博客
从开发到部署微服务保姆级视频教程
26
8个月前
博客
构建 Go 应用 docker 镜像的十八种姿势
60
11
8个月前
博客
史上最强代码自测方法,没有之一!
27
9个月前
讨论数量: 1
排序:
时间
投票
Summer
站长
11.2k 声望
维护者 @ LearnKu.com
Go 2020 年的调查报告,有两个点可供参考:
使用 Go 来做什么开发:
使用 Go 来做哪些领域的开发:
11个月前
评论
评论
举报
讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
<a href="javascript:;" class="mr-2 ui popover text-mute" data-html="黏贴或拖拽图片至输入框内皆可上传图片">
<a href="javascript:;" class="mr-2 ui popover text-mute hide-on-mobile" data-html="支持除了 H1~H6 以外的GitHub 兼容 Markdown">
支持 MD
帮助
关注本文
评论
Laravel00
资深程序猿 @ 平安科技
文章
54
粉丝
31
喜欢
230
收藏
504
排名:308
访问:2.9 万
关注
私信
所有博文
阅读模式
文章归档
2 篇
2022 年 2 月
6 篇
2022 年 1 月
22 篇
2021 年 12 月
4 篇
2021 年 11 月
1 篇
2021 年 7 月
3 篇
2021 年 6 月
1 篇
2021 年 5 月
1 篇
2021 年 4 月
4 篇
2021 年 3 月
10 篇
2021 年 2 月
最新文章
最受欢迎
10个月前
PHP高并发 商品秒杀 问题的 2大种(MySQL or Redis) 解决方案
10个月前
对laravel框架你了解多少,为什么说是优雅的框架
11个月前
一个高性能,高并发,高可用的系统是如何演变来的
11个月前
Go 语言精编面试50题,请收藏!
11个月前
什么是RPC ? 用PHP如何实现?
52
Laravel的这10个用法,你都没用过吧!!
38
PHP面试经常被问到的知识点汇总,对你非常有用
32
你知道Laravel 用到了哪些设计模式 ?都是如何用的
17
系统崩溃了,网站响应慢了,你是如何快速定位错误信息的?
限流、熔断、高可用?有些人一脸懵bi
博客标签
api
laravel
22
curl
http
docker
mysql
ajax
ioc
rpc
tcp
phpstorm
workerman
文件上传
依赖注入
架构
秒杀
消息队列
分布式
项目部署
锁机制
golang
PHP面试题
go语言
性能分析
php8
悲观锁
linux
限流
php知识点
12
laravel底层
PHP8新特性
linux面试题
三次握手
四次挥手
一致性
高性能
高可用
熔断
php8.1
laravel群
系统奔溃
响应慢
日志分析
Portainer
Redis缓存
缓存雪崩
缓存穿透
Redis知识点
单据锁
mysql知识点
社区赞助商
成为赞助商
社区赞助商
成为赞助商
关于 LearnKu
LearnKu 是终身编程者的修道场
做最专业、严肃的技术论坛
LearnKu 诞生的故事
资源推荐
《社区使用指南》
《文档撰写指南》
《LearnKu 社区规范》
《提问的智慧》
服务提供商
其他信息
成为版主
所有测验
联系站长(反馈建议)
粤ICP备18099781号-6
粤公网安备 44030502004330号
违法和不良信息举报
由 Summer 设计和编码 ❤
请登录
提交
忘记密码?
or
注册
第三方账号登录
微信登录
GitHub 登录
内容举报
匿名举报,为防止滥用,仅管理员可见举报者。
我要举报该,理由是:
垃圾广告:恶意灌水、广告、推广等内容
无意义内容:测试、灌水、文不对题、消极内容、文章品质太差等
违规内容:色情、暴利、血腥、敏感信息等
不友善内容:人身攻击、挑衅辱骂、恶意行为
科学上网:翻墙、VPN、Shadowsocks,政策风险,会被关站!
不懂提问:提问太随意,需要再做一遍《提问的智慧》测验
随意提问:提问没有发布在社区问答分类下
排版混乱:没有合理使用 Markdown 编写文章,未使用代码高亮
内容结构混乱:逻辑不清晰,内容混乱,难以阅读
标题随意:标题党、标题不释义
尊重版权:分享付费课程、破解软件(付费),侵犯作者劳动成果
其他理由:请补充说明
举报
取消