【从零开始学习Go语言】一.初识Go语言

  • 一.go语言简介:
  • 二.go语言发展历史
  • 三 . Go 语言的诞生背景
  • 四. 为什么要学go?


一.go语言简介:

Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。


二.go语言发展历史

2007年,Google设计Go,目的在于提高在多核、网络机器(networked machines)、大型代码库(codebases)的情况下的开发效率。当时在Google,设计师们想要解决其他语言使用中的缺点,但是仍保留他们的优点。

  • 静态类型和运行时效率。(如:C++)
  • 可读性和易用性。(如:Python 和 JavaScript)
  • 高性能的网络和多进程。

设计师们主要受他们之间流传的“不要像C++”启发。
Go于2009年11月正式宣布推出,版本1.0在2012年3月发布之后,Go广泛应用于Google的产品以及许多其他组织和开源项目。

在2016年11月,Go(一种无衬线体)和Go Mono 字体(一种等宽字体)分别由设计师 Charles Bigelow 和 Kris Holmes 发布。 两种字体均采用了 WGL4 ,并且依照着 DIN 1450 标准,可清晰地使用了 large x-height 和 letterforms

在2018年8月,本地的图标更换了 。待描述完整 然而,Gopher mascot 仍旧命相同的名字。

在2018年8月,Go的主要贡献者发布了两个关于语言新功能的“草稿设计——泛型 和 异常处理,同时寻求Go用户的反馈。Go 由于在1.x时,缺少对 泛型编程 的支持和冗长的异常处理而备受批评…


三 . Go 语言的诞生背景

Go 语言的诞生主要基于如下原因 :

  1. 摩尔定律接近失效后多核服务器己经成为主流,当前的编程语言对并发的支持不是很好,不能很好地发挥多核 的威力
  2. 程序规模越来越大,编译速度越来越慢,如何快速地编译程序是程序员的迫切需求。
  3. 现有的编程语言设计越来越复杂,由于历史的包袱,某些特性的实现不怎么优雅,程序员花费了更多的精力来应对编程语法细节而不是问题域。
    Go 语言就是为了解决当下编程语言对并发支持不友好、编译速度慢、编程复杂这三个问题而诞生的

四. 为什么要学go?

一门语言的学习必要性取决于市场上的需求量,如果你不是网络小白,或一时冲动想投入IT高薪的人的话,那你应该听说过以下的这些项目或企业:

  • 七牛云
  • Kubernetes(又称k8s)
  • 知乎(这个应该都用过吧…)
  • b站(后端原先为PHP与Java,后更换技术人员转型为go…)
  • 还有很多,至于go的优点一篇文章可以单独拿出一篇文章去写,
  • 这里推荐一个大佬的文章:为什么 Go 语言能在中国这么火?还有一篇七牛云CEO许式伟的七牛的Go语言之缘

看完本篇文章的你,是否要加入GO语言的学习队列中呢?让我一起学习Go语言吧~

【从零开始学习Go语言】一.初识Go语言相关推荐

  1. C语言入门——初识C语言

    C语言入门--初识C语言 一. C语言的起源 二. 选择C语言的原因 (一). 设计特性 (二). 高效性 (三). 可移植性 (四). 强大而灵活 (五). 面向程序员 (六). 缺点 三. C语言 ...

  2. 【C语言】初识C语言

    目录 1.什么是C语言 2.第一个C语言程序 3.数据类型 4.变量,常量 4.1 定义变量方法 4.2 变量的命名 4.3 变量的分类 4.4 变量的使用 4.5 变量的作用域和生命周期 4.5.1 ...

  3. 【零基础入门C语言】 初识C语言—1

    声明:[零基础入门C语言]系列是博主对B站up主:鹏哥C语言所分享教学内容的学习笔记,并且该系列每篇博客都会将博主听课后总结的纸质版笔记附于文末,供大家参考. 初识C语言章节的内容在于初步了解C语言的 ...

  4. 【C语言】初识C语言(下篇)

    如果这世界上真有奇迹,那只是努力的另一个名字. 大家好,这里是anduin.今天将给大家带来初识C语言的最后一部分,和之前一样点到为止,适当补充,今天的内容是#define 定义常量和宏.指针和结构体 ...

  5. 【C语言】初识C语言(中篇)

    种一棵树,最好的时间是10年前,其次是现在. 大家好,这里是anduin,这次的主题依旧是初识C语言,和上次不同,这次我们主要讲两大块,对于一些知识,我们选择略讲,但是对于一些我觉得重要的知识我会对其 ...

  6. C语言程序设计----初识C语言与程序设计

    对于初次学习C语言程序设计,我们要了解到C语言程序设计的学习包括两个方面: 语法规则的学习和程序设计方法的学习:学习计算机语言和程序设计的目的: 就是要学会用计算机语言编写解决实际问题的程序. 一.C ...

  7. <C语言>初识C语言(一)

    文章目录 初识C语言(一) 什么是C语言 ? 计算机语言的发展 第一个程序 数据类型 进制 换算单位 数据类型长度 变量和常量 变量 变量定义 变量命名 变量分类 变量使用 变量的作用域和生命周期 字 ...

  8. a5 1c语言实现,初识C语言1_qq5fb3b05a5f322的技术博客_51CTO博客

    本章重点: 什么是C语言 第一个C语言程序 数据类型 变量.常量 字符串+转义字符+注释 选择语句 循环语句 函数 数组 操作符 常见关键字 define 定义常量和宏 指针 结构体 什么是C语言? ...

  9. 从零到一学习golang语言_初识go语言(一)

    从本篇文章起,从零到一学习go语言. 一.go和golang? 到底是go语言还是golang语言,其实官网已经表态过为go语言.官网的域名使用https://golang.org/,是因为go.or ...

  10. 【c语言】初识c语言-让你对c语言不在感到一无所知

    作者:低调 作者宣言:写好每一篇博客 文章目录 前言 一.什么是C语言? 二.第一个C语言程序 三.数据类型 3.1常见的数据类型. 3.2每个类型的大小是多少? 3.3数据类型是以什么方式打印出来的 ...

最新文章

  1. 15℃!人类首次实现高压下室温超导,研究登上Nature封面
  2. gpasswd 命令详解
  3. 独角兽也未能幸免,2019“阵亡”新经济公司大盘点
  4. Apache Flink 1.10.0 发布 | 云原生生态周报 Vol. 38
  5. C++中全局函数和局部函数的关系
  6. onvif学习笔记8:最近写的一个ONVIF客户端的心得小结
  7. jquery 全国 三联 地址选择
  8. 19_07_09校内训练[分组]
  9. spring boot 打war包部署,打jar包
  10. oracle第三天笔记
  11. Homography单应性矩阵原理
  12. qq输入法 for linux,QQ输入法for Mac如何下载及安装
  13. python快乐数,快乐数
  14. layui上传文件的choose只触发一次
  15. 虹科方案 | 虹科基于空口测试的新型5G毫米波测试方案
  16. 微信公众号跳转到手机默认浏览器打开指定页面功能怎样实现?
  17. Qlik之的应用备份(.qvf) (六)
  18. 802.11无线网络权威——(三、MAC基础)
  19. 收藏 | 产品经理不可不知的 7 种技术思维
  20. python计算机视觉--基于(BOW)的图像检索与识别

热门文章

  1. 太极图正确画法_太极图唯一正确的画法
  2. SAP-ABAP-OOALV方法实现程序源码,仅供参考
  3. 三阶魔方大中小魔公式_七步玩转三阶魔方还原公式及非公式步骤图解【新手适用超详细】...
  4. Java四大元注解介绍
  5. ElasticSearch版本与Jar包冲突
  6. 计算机配件价格上涨,显卡涨价风声再起 PC配件涨价什么时候是个头
  7. String.indexOf 用法
  8. Django文档地址
  9. AC_automaton 模板
  10. 1.7-工控上位机软件开发平台介绍