首页 > 其他分享 >Go基础信息

Go基础信息

时间:2022-11-30 11:23:16浏览次数:70  
标签:语言 编程语言 谷歌 基础 信息 go 20% Go

介绍

官网:Go 编程语言

源代码托管在 GitHub 上:https://github.com/golang/go


为什么需要一个新语言

最近十年来,C/C++在计算领域没有很好得到发展,并没有新的系统编程语言出现。

对开发程度和系统效率在很多情况下不能兼得。

要么执行效率高,但低效的开发和编译,如C++,

要么执行低效,但拥有有效的编译,如.NET、Java,

所以需要一种拥有较高效的执行速度、编译速度和开发速度的编程语言,Go就横空出世了


Go语言诞生

Go 语言是的出现是为了解决 Google 公司内开发软件基础设施时遇到的一些问题。

Go 语言从 2009 年 9 月 21 日作为谷歌 20% 兼职项目,即相关员工利用 20% 的空余时间来参与 Go 语言的研发工作。

Go语言是谷歌在 2009 年发布的一款编程语言,自面世以来它以高效的开发效率和完美的运行速度迅速风靡全球,被誉为“21 世纪的C语言”。

该项目的三位领导者均是著名的 IT 工程师:

  1. Rob Pike(罗伯.派克):Go 语言项目总负责人,贝尔实验室 Unix 团队成员,参与的项目包括 Plan 9,Inferno 操作系统和 Limbo 编程语言;
  2. Ken Thompson(肯.汤普森):贝尔实验室 Unix 团队成员,C 语言、Unix 和 Plan 9 的创始人之一,与 Rob Pike 共同开发了 UTF-8 字符集规范。
  3. Robert Griesemer(罗伯特.格利茨默):参与开发 Java HotSpot 虚拟机;

这被称为是计算机领域「发明之父」所组成的黄金团队,他们对系统编程语言,操作系统和并行都有着非常深刻的见解。


谷歌工程师的20%时间

谷歌的 20% 时间工作方式,允许工程师拿出20%的时间来研究自己喜欢的项目。

语音服务Google Now、谷歌新闻Google News、谷歌地图Google Map上的交通信息等,全都是20%时间的产物。

Go语言最开始也是20%时间的产物。


Go语言吉祥物

Go语言这萌萌的吉祥物是由Rob Pike的妻子 Renee French绘制的,golang吉祥物的设计者Renee French是一位知名插画师,她的画风是这样的

她设计出了Golang吉祥物,可爱的 Gordon [ˈgɔrdən]

img


语言的特性

Go 语言从本质上(程序和结构方面)来实现并发编程。

因为 Go 语言没有类和继承的概念,所以它和 Java 或 C++ 看起来并不相同。

但是它通过接口(interface)的概念来实现多态性。

Go 语言有一个清晰易懂的轻量级类型系统,在类型之间也没有层级之说。

因此可以说这是一门混合型的语言。

作为强类型语言,隐式的类型转换是不被允许的,记住一条原则:让所有的东西都是显式的

Go 语言支持交叉编译,比如说你可以在运行 Linux 系统的计算机上开发运行在 Windows 下运行的应用程序。

这是第一门完全支持 UTF-8 的编程语言,不仅体现在它可以处理使用 UTF-8 编码的字符串,就连它的源码文件格式都是使用的 UTF-8 编码。

Go 语言做到了真正的国际化!



下载安装

Go环境

安装包下载地址:地址

然后双击打开下载好的文件文件,一直点 Next 就行。

环境也不用配置安装完成后,根据安装位置自动生成的。

测试Go环境是否安装成功

  1. 新建 hello.go 文件

  2. 输入以下代码

    // hello_world.go
    package main
    
    func main() {
        println("Hello", "go")
    }
    
  3. 打开cmd,进入文件目录,输入如下命令

    go run hello.go
    

GoLand IDE

上网查阅了相关资料,网上推荐使用 GoLand 或者 VS Code 这两款 IDE。

这里选择安装 Goland。

下载地址:GoLand

点击下载的安装包,然后一直点 Next即可。

激活:GoLand破解安装激活2022-09-07最新教程(附破解工具及激活码)

然后打开之前那个 hello_world.go 文件,运行,成功输出结果。

image-20221128172529888

标签:语言,编程语言,谷歌,基础,信息,go,20%,Go
From: https://www.cnblogs.com/KeFeng/p/16937846.html

相关文章

  • Redis基础命令
    Redis基础命令目录Redis基础命令Redis数据结构介绍Redis通用命令String类型key的层级结构Hash类型List类型Set类型SortedSet类型Redis数据结构介绍redis是一个key-value......
  • 《MongoDB极简教程》第一章 NoSQL简史 & MongoDB安装&环境配置
    MongoDB是一款开源的文档数据库,并且是业内领先的NoSQL数据库,用C++编写而成。NoSQL(NoSQL=NotOnlySQL),意即"不仅仅是SQL"。在现代的计算系统上每天网络上都会产生......
  • Solidity基础介绍
    solidty跟javascript有一定的相似认识一个最简单的存储合约让我们先看一下最基本的例子。现在就算你都不理解也不要紧,后面我们会有更深入的讲解。//SPDX-License-Identifi......
  • 生产“算了说”让工厂“说了算”浪潮信息同展湾科技亮相进博会
    节省人工40%、提升生产效率15%,产品工艺质量提升10%,已在近2000条产线落地——“神助攻”来了!11月5日-10日,第五届中国国际进口博览会于在国家会展中心(上海)举行,浪潮信息、展湾......
  • [答疑精选]企业仓储管理与成本核算信息系统愿景(2015/3/2)
    企业仓储管理与成本核算信息系统愿景乡情(382***38)15:11:08 我的题目是:企业仓储管理与成本核算信息系统老大:企业总经理愿景:1. 为工程及时提供所需货品2. 准确核算工程成......
  • JavaScript基础(一)
    JavaScript基础第01天1-编程语言1.1编程编程:就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。计算机程序:就是计算机所......
  • ArcGIS基础:属性连接注意事项_YuanYWRS的博客
    【1】连接条件,字段类型必须相同,出现连接找不到字段的情况,这个原因就是其中之一,不能将字符串与数字的字段进行连接的。【2】其次,要保证数值完全相同,比如1.0与1就是不同的,河......
  • 链表基础知识
    1.什么是链表   链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空......
  • 这就是搜索引擎(4) 云存储之Google文件系统(GFS)
    1.背景之前说过,搜索引擎需要将互联网上百亿级别的网页内容存到本地磁盘上,基于这一存储海量数据的需求,Google开发了GFS。GFS(GoogleFileSystem)为了能够存储百亿级的海量......
  • 每天一点基础K8S--K8S中的调度策略---pod亲和性和反亲和性
    pod亲和性和反亲和性上面实验了pod的资源调度可以通过nodeName、nodeSelector完成,以及node节点亲和性,都是根据依赖关系完成node与pod之间的调度。在实际的需求中,还需要对p......