李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
GO
正文
01.Golang介绍
Leefs
2022-06-26 PM
1576℃
2条
[TOC] ### 前言 在开始本篇之前先上一张表情包: ![01.GO语言介绍01.jpeg](https://lilinchao.com/usr/uploads/2022/06/3650125383.jpeg) GO语言的吉祥物是一只**地鼠(gopher)**。 ### 一、简介 Go语言又称为Golang是Google于2009年正式发布的一款开源的静态编译型编程语言,Go拥有构建简单、可靠和高效的特性。 主要目标是“**兼具Python 等动态语言的开发速度和C/C++等编译型语言的性能与安全性**”,旨在不损失应用程序性能的情况下降低代码的复杂性。 很多公司,特别是中国的互联网公司,即将或者已经完成了使用 Go 语言改造旧系统的过程。经过 Go 语言重构的系统能使用更少的硬件资源获得更高的并发和I/O吞吐表现。充分挖掘硬件设备的潜力也满足当前精细化运营的市场大环境。 Go语言的并发是基于 `goroutine` 的,`goroutine` 类似于线程,但并非线程。可以将 `goroutine` 理解为一种虚拟线程。Go 语言运行时会参与调度 `goroutine`,并将 `goroutine` 合理地分配到每个 CPU 中,最大限度地使用CPU性能。开启一个`goroutine`的消耗非常小(大约2KB的内存),你可以轻松创建数百万个`goroutine`。 **goroutine的特点:** 1. `goroutine`具有可增长的分段堆栈。这意味着它们只在需要时才会使用更多内存。 2. `goroutine`的启动时间比线程快。 3. `goroutine`原生支持利用channel安全地进行通信。 4. `goroutine`共享数据结构时无需使用互斥锁。 ### 二、特性 Go语言之所以被称为21世纪的C语言,不仅在于它精简的语法和高效的开发,更在于它具有原生支持和易于使用的高并发的特性。 + 简单好记的关键词和语法。轻松上手,简单易学。 + 更高的效率。比Java,C++等拥有更高的编译速度,同时运行效率媲美C,同时开发效率非常高。 + 生态强大,网络上库很丰富,很多功能使用Go开发非常简单。 + 语法检查严格,高安全性。 + 严格的依赖管理,go mod命令。 + Go拥有强大的编译检查、严格的编码规范和完整的软件生命周期工具,具有很强的稳定性,稳定压倒一切。 + 跨平台交叉编译,windows就可以编译出mac,linux上可执行的程序。 + 异步编程复杂度低,易维护,GO 语言中 Channel 设计,异步程序写起来非常自然。 + 语言层面支持并发,`go关键字(协程)`使得go的并发效率极高。 + 严格的语法规范,所有程序员写出来的代码都是一样的,对大团队来说,非常友好。 + Go 的并发、性能、安全性、易于部署等特性,使它很容易成为“云原生语言”。容器和云的使用上非常广 Go语言保证了既能到达**静态编译语言的安全和性能**,又**达到了动态语言开发速度和易维护性**,有人形容Go语言:`Go = C + Python`, 说明Go语言既有C静态语言程序的运行速度,又能达到Python动态语言的快速开发。 ### 三、语言的类型 开发者使用编程语言的三大分类(执行速度、简易程度、开发难度); - 执行速度快、编译速度慢(编译型):C,C++ - 执行速度较慢、编译速度快(解释型):JAVA,.NET - 执行速度慢、开发难度小(动态脚本):Python,PHP Go语言在3个条件做了平衡:易于开发、快速编译、高效执行 ### 四、Go使用场景 Go语言主要用于服务端开发,其定位是开发大型软件,常用于: - 服务器编程:日志出来、数据打包、虚拟机出来、文件系统、分布式系统、数据库代理等 - 网络编程:Web应用、API应用、下载应用 - 内存数据库 - 云平台 - 机器学习 - 区块链……. *附参考文章链接* *http://www.ibc.ink/docs/go/go-1d2cq21k6eonb*
标签:
Golang基础
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://lilinchao.com/archives/2184.html
上一篇
04.Netty源码分析之启动流程分析
下一篇
02.Golang入门程序
取消回复
评论啦~
提交评论
已有 2 条评论
夜神月
厉害!
回复
2022-06-27 16:00
Leefs
博主
@夜神月
哈哈,大佬过奖了
回复
2022-06-30 18:06
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
47
标签云
正则表达式
并发编程
Spark Streaming
机器学习
VUE
国产数据库改造
工具
JavaWeb
锁
ajax
Jenkins
设计模式
持有对象
Spark
链表
Netty
Java工具类
Java阻塞队列
HDFS
Jquery
Zookeeper
Python
Map
字符串
Sentinel
MySQL
MyBatis
MyBatis-Plus
NIO
Thymeleaf
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞
厉害!
哈哈,大佬过奖了