首页 > 其他分享 >初识Go(Golang)语言

初识Go(Golang)语言

时间:2023-08-06 22:55:58浏览次数:32  
标签:语言 Python Golang 并发 初识 Go

初识Go(Golang)语言

Go的诞生

1.Go语言的发展历程
	2007 年,谷歌工程师 Rob Pike, Ken Thompson 和 Robert Griesemer 开始设计一门全新的语言,这是Go 语言的最初原型。
	2009 年 11 月 10 日,Google 将 Go 语言以开放源代码的方式向全球发布。
	2015 年 8 月 19 日,Go 1.5 版发布,本次更新中移除了”最后残余的 C 代码”
	2017 年 2 月 17 日,Go 语言 Go 1.8 版发布。
	2017 年 8 月 24 日,Go 语言 Go 1.9 版发布。 1.9.2 版本
	2018 年 2 月 16 日,Go 语言 Go 1.10 版发布。

2.Go语言的特点
	Go语言保证了既能到达静态编译语言的安全和性能,又达到了动态语言开发维护的高效率,使用一个很形象的表达方式就是:Go=C + Python,说明Go既有静态语言程序的运行速度,又能达到Python动态语言的快速开发。
	从C语言中继承了很多理念,包括表达式语法,控制结构,基础数据类型,调用参数传值,指针等等,也保留了和C语言一样的编译执行方式以及弱化的指针
	引入了包的概念,多用于组织程序结构,Go语言的一个文件都要归属于一个包,而不能单独存在。
	垃圾回收机制,内存自动回收,不需要开发人员管理,就像之前Python我写的垃圾回收机制,时间轮转法回收。
	天然并发,在go语言实现并发极其简单。
	goroutine,轻量级线程,可实现打冰法处理,可以很高效的利用服务器的多核优势。
	基于GPS并发模型(Communicating Sequential Processes)实现。
	吸收了管道通讯机制,形成Go语言特有的管道(channel),可以实现不同线路(goroute)之间的互相通讯。
	新的创新:比如切片(slice),延时执行(defer)

3.Golang创造的原因
	计算机硬件技术更新频繁,性能提高很快。目前主流的变成语言发展明显落后于硬件的发展,不能合理的利用多核多CPU的优势来提升软件系统性能。
	软件系统复杂度越来越高,维护成本越来越高,目前缺乏一个足够简洁高效的编程语言。(现有的编程语言:1.风格不同意 2.计算能力不够 3.处理大并发不够好)
	企业运行维护很多c、c++的项目,c、c++程序运行速度虽然很,但是编译速度确实很慢,同事还存在内存泄露的一系列的困扰需要解决。

.Go语言的核心开发团队-三个巨佬
	

查看图片

查看图片

标签:语言,Python,Golang,并发,初识,Go
From: https://www.cnblogs.com/joseph-bright/p/17610296.html

相关文章

  • GO语言刷题
    ###GO刷题记录二分法查找给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在nums中并且下标为4示例2:输入:nums......
  • django之manage.py migrate无效的问题
    问题已有的model,迁移之后,想重新设置字段,于是将migrations文件夹中除__init__.py之外其他文件都删掉,并且把数据库中的表删除,再次执行以下步骤pythonmanage.pymakemigrations确认成功,执行pythonmanage.pymigrate,提示Nomigrationstoapply.无法对表模型进行更改。解决方案p......
  • 【题解】Luogu[P9504] 『MGOI』Simple Round I C. 魔法禁林
    Link这题我们发现如果直接去枚举生命和法力值显然是不行的,又看到说最小的生命值,不禁想到最短路,但是怎么跑?我们令经过一条边之前魔力值为\(k\),那么该边的边权为\(\lfloor\dfrac{w}{k}\rfloor\),于是我们讲题目转化为了边权为\(\lfloor\dfrac{w}{k}\rfloor\)时\(s\)到\(t\)......
  • 【LGR-148-Div.3】洛谷基础赛 #1 & MGOI Round I
    【LGR-148-Div.3】洛谷基础赛#1&MGOIRoundI据说是普及组难度?T1P9502『MGOI』SimpleRoundI|A.魔法数字\(100pts\)题目描述初级魔法士小M的魔法数字是\(2\)。给定一个正整数\(n\),小M需要找到最大的偶数\(m\),使得\(2^m<n\)。又双叒叕是个水题,然后被又双......
  • 【LGR-148-Div.3】洛谷基础赛 #1 & MGOI Round I
    T1简单题,题面十分清晰,就是给我们\(n\),要求使\(2^m<n\)成立的最小偶数\(m\)。(要注意\(log_2N=m,m|2\)的情况)#include<bits/stdc++.h>#definelllonglong#definereregisterusingnamespacestd;constintN=800,INF=0x3f3f3f3f;lln;intmain(){ cin>>n; llk=log......
  • bazel test 编译失败:googletest、gtest 报错
    问题描述bazeltest遇到很多奇怪的编译错误,报错位置位于“googletest”目录,而且没有修改过googletest源码:ERROR:/bazel_cache/output_user_root/.../external/google/BUILD.bazel:80:11:Compilinggoogletest/src/gtest-matchers.ccfailed:(Exit1):gccfailed:errore......
  • 【2023.08.06】乐高Lego福运成双80110积木评测
    前言本人是自费购买积木,购买原因是给妹妹培养动手能力,减少短视频占用时间,其次是给家里做摆饰,所以选择积木多考虑了美观非专业评测,如果想看更多积木评测请点进我的博客主页分类查看正文这次的积木整体创意挺好的,斜着拼装红色和金色电镀件很好看,金色的电镀件颜色反射非常均匀......
  • Go Runtime功能初探
    GoRuntime功能初探旅途散记 2023-08-0407:45 发表于上海收录于合集#go44个题图来自 UnderstandCompileTime&&Runtime!ImprovingGolangPerformance(1)[1]以下内容,是对 运行时runtime的神奇用法[2] 的学习与记录目录:1.获取GOROOT环境变量2.获取GO的......
  • GoogLeNet网络——pytorch版
    importtorchfromtorchimportnnfromtorch.nnimportfunctionalasFfromd2limporttorchasd2lclassInception(nn.Module):#c1-c4是每条路径的输出通道数def__init__(self,in_channels,c1,c2,c3,c4,**kwargs):super(Inception,self).__init__(......
  • Google Review评价被删除了,怎么恢复?【附详细操作指引】
    自从2022年初,谷歌推出Googlereviews的人工智能AI评论过滤器之后,在删除大量虚假Googlereviews的同时,连同许多正常顾客的Google评价也一起删掉了,这种情况经常发生,这引起很多Googlebusiness商家强烈不满。 对此,今年Google终于发布一个关于Googlereviews的表单求助功能,帮助Google......