我要偷偷的学Go语言,然后惊呆所有人(第一天)

我要偷偷的学Go语言,然后惊呆所有人(第一天),第1张

概述标题无意冒犯,就是觉得这个广告挺好玩的上面这张思维导图喜欢就拿走目录文章目录目录什么是Go语言1.1简单1.2可靠1.3高效Go语言的安装2.1Linux/Ubuntu18.042.2关于环境变量:2.3良好的目录结构:开始我们的第一个例子稍稍分析一下:什么是Go语言打开Go语言

标题无意冒犯,就是觉得这个广告挺好玩的
上面这张思维导图喜欢就拿走

目录

文章目录目录什么是Go语言1.1 简单1.2 可靠1.3 高效Go语言的安装2.1 Linux/Ubuntu 18.042.2 关于环境变量:2.3 良好的目录结构:开始我们的第一个例子稍稍分析一下:

什么是Go语言

打开Go语言的官网我们可以看到这样一句话:

Go是一种开源编程语言,可以轻松构建简单,可靠,高效的软件。

显然这句话中有三个关键字:简单,可靠,高效。

1.1 简单

Go语言的哲学,是简简单单的一句话:

Less is more.

Less is more. 这句话来源于Rob Pike(Go语言的创造者之一)在2012年的6月份的演讲Less is exponentially more.,这个演讲直译成中文的意思是:“少是指数级的多”,意译过来则是大道至简。

Go语言相信越是简单的东西(语义,规则等等…)越是比复杂的东西更加强大。(事实上,开发Go语言的契机,正是Google公司请了一些人,来给员工讲解C++ 0x相比较之前的一些新的特性。Rob和Ken还有Robert也在听讲的人群当中。它们认为C++想要让自身变得更好的途径不应该是增加更多的特性,而是应该减少不必要的东西。)

Go想要这样做:使用足够简单的方式来解决一切问题。并且它做到了。Go语言的语法规范和C++相比简直不值一提。

扩展阅读:

大道至简Go语言:攀登的十年1.2 可靠
mvn   archetype:generate  -DarchetypeGroupID=org.apache.flink  -DarchetypeArtifactID=flink-quickstart-java  -DarchetypeVersion=1.10.0

在Go语言被设计的第一天,就有这样一个想法:以C语言作为起点。(虽然最后没这么做)

当程序员使用Go语言进行编程时,不需要像C语言的程序员那么提心吊胆去用心管理内存(这么说会显得使用其他编程语言的程序员不用心,但是事实上和C语言的管理内存相比,其他的工作真的只是小儿科)。Go语言会自动帮程序员管理内存,当然,程序员也还是要去在意类似于空指针,边界条件的判断等等(不用心管理内存并不代表不用脑子!)。

当然这个世界上的能够自动管理内存的编程语言不止一种,但是在当今的世界上对于内存不安全的语言是没有活路的。

扩展阅读:

简单易懂的Go语言内存管理1.3 高效

也许Go语言是你人生中接触的第一门编程语言(我相信在不久的将来这个会变成现实的!)但是在现在(2019年)还是不太可能的,也就是说绝大多数人是因为Go语言的特性,或者说不得已的需求而接触的这门编程语言。

如果你是因为被Go语言的特性所吸引,那么你一定听说过一下几个关键词:静态强类型,可编译,高并发。

静态语言所带来的好处是在开发时的高效:编辑器可以有足够好的代码补全功能,很好的语法和类型检查,虽然和动态弱类型语言相比较,短期的开发时间较长,但是比动态语言更适合开发大型项目,且更加利于后期的维护,也就是说从长远的角度看是效率更好的。

以前的单cpu时代,人们尚且知道划分cpu时间片来进行并发(不是真正的并行计算,而是宏观上的并发),在计算能力更加发达的今天,多计算单元、多核心、多机器已经是司空见惯的模式了,在这个时候,Go语言继承自CSP、扎根于语言深部的高并发特性使之能够被称为是“二十一世纪编程语言”。而关于并发的部分会在后面介绍。

扩展阅读:

静态语言和动态语言的区别 - 掘金
Go语言的安装

不怎么用windows,所以暂时只有linux/Ubuntu 18.04的安装

2.1 linux/Ubuntu 18.04

① 获取最新的golang安装源,并且更新到apt中
add-apt-repository ppa:longsleep/golang-backports

② apt更新
apt-get update

③ 安装golang
sudo apt-get install golang-go

④ 使用version查看版本
go version

2.2 关于环境变量:

GOROOT: Go语言编译、工具、标准库等的安装路径。
GOPATH:Go语言的工作目录。

2.3 良好的目录结构:
go/├── bin├── pkg└── src    ├── github.com    │   ├── Muxi-X    │   ├── ...    │   └── ShiinaOrez    │       ├── goproject1 <- 你的仓库    │       └── ...    ├── golang.org    └── ...

开始我们的第一个例子

众所周知,第一个例子永远是Hello(World之类的),我们也是一样的。

你的代码应该位于golang的工作目录下

创建一个文件:hello.go或者叫什么都无所谓,只要是.go文件就可以。

文件的内容如下:

package mainimport "fmt"func main() {    fmt.Println("Hello, golang!")}

保存,关闭,在文件目录下运行以下命令来直接运行:

go run hello.go

或者使用编译成可执行文件的形式来运行:

go build -o hello && ./hello

然后会获得以下输出:

Hello, golang!
稍稍分析一下:

package关键字用来说明本文件是属于哪个包的,Go语言默认main包为运行或者编译的目标包。不然的话会引起以下错误:

go run: cannot run non-main package

import关键字用于导入我们运行时需要的包,在下文中使用了fmt.Println方法,所以需要导入fmt包。

然后我们使用func关键字声明了一个函数main,这是一个没有参数也没有返回值的函数,它将是程序的入口。

main函数中我们调用了fmt.Println()方法,输入了一个字符串为参数。

扩展阅读:

深入理解fmt包
总结

以上是内存溢出为你收集整理的我要偷偷的学Go语言,然后惊呆所有人(第一天)全部内容,希望文章能够帮你解决我要偷偷的学Go语言,然后惊呆所有人(第一天)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1244642.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存