李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
GO
正文
01.Golang介绍
Leefs
2022-06-26 PM
2541℃
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
Java
326
大数据
229
工具
31
其它
25
GO
47
NLP
4
标签云
散列
Azkaban
Nacos
MySQL
查找
Elasticsearch
MyBatisX
Thymeleaf
NIO
链表
Jquery
Spark SQL
Flume
机器学习
字符串
人工智能
序列化和反序列化
Redis
Livy
JavaScript
Sentinel
Yarn
SpringBoot
容器深入研究
排序
Filter
RSA加解密
Java
Typora
Jenkins
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞
评论已关闭