热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Go语言基础–简介&快速开始

Go是一个比较新的开源语言,2007年由RobertGriesemer,RobPike,KenThompson主持开发,09年11月开源,12年的时候发布了Go的稳定版本,就现在

Go 是一个比较新的开源语言,2007年由Robert Griesemer, Rob Pike, Ken Thompson主持开发,09年11月开源,12年的时候发布了Go的稳定版本,就现在来看Golang的社区是非常活跃的,并且有很多的大型互联网公司开始使用Golang,总体来说 Golang 是一个充满潜力但现在生态还不是很完备的年轻的语言。
Golang 就当前使用较广的一些语言对比来看:
1、golang 更加的简洁、开发效率更高
2、天然的并发性
3、优秀的内存管理
4、相对于其他编译型语言,编译速度更快
5、性能较高且稳定
我本身是一个Java 程序员,从Java 的角度来对比看Golang的话,Golang具有  更加丰富的内置类型、匿名函数&闭包、更高性能&开发效率的并发特点、比较不错的垃圾回收(这一块儿做的稍微比Java 差一点)、更加方便的多返回值、不逊色于其他语言的错误处理&反射等特性。
下面就开始来看看Golang安装包地址https://golang.org/dl/ 或 https://golang.google.cn/dl/ (连uri 都是如此的简洁,哈哈哈哈哈)

Go 语言基础--简介&快速开始
image.png

选择一个适合自己的安装包tar -C /usr/local -xzf go1.12.5.darwin-amd64.tar.gz
Go 有几个环境变量需要注意一下:GOPATH、GOROOT
GOROOT是Go的安装目录,可以理解为需要写Go的时候就需要Go环境,这就是那个Go环境。GOPATH 可以粗暴的理解为是我们的工作目录,我们可以持有多个GOPATH,go get时默认就是放在这个目录下(go get 是一种获取依赖项的go 命令),gopath下有三个目录,src、pkg、binsrc:存放源码(go run、go install 的执行目录)pkg:编译时生成的中间文件bin:编译后生成的可执行文件配置好这些东西,我们可以选择几个比较合适的开发工具了:Golang、vim、atom、sublime 都可以。推荐使用Golang(https://www.jetbrains.com/go/),非常好用。

Go 语言基础--简介&快速开始
image.png

是时候开启hello world了:在你的工作目录下,创建一个文件

package main import "fmt" func main() { fmt.Println("Hello, World!") }

到此就完成了Go的简介和快速入门。

Go 语言基础--简介&快速开始
image.png

后续文章会从Go语言基础使用&Go语言实现两个方面来阐述。


推荐阅读
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 给定一个二维平面上的一些点,通过计算曼哈顿距离,求连接所有点的最小总费用。只有任意两点之间有且仅有一条简单路径时,才认为所有点都已连接。给出了几个示例并给出了对应的输出。 ... [详细]
  • 从零学Java(10)之方法详解,喷打野你真的没我6!
    本文介绍了从零学Java系列中的第10篇文章,详解了Java中的方法。同时讨论了打野过程中喷打野的影响,以及金色打野刀对经济的增加和线上队友经济的影响。指出喷打野会导致线上经济的消减和影响队伍的团结。 ... [详细]
author-avatar
手机用户2502907707
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有