Go语言小白笔记-(02)初识Go语言

栏目: Go · 发布时间: 5年前

内容简介:“Go是一种开源的程序设计语言,它意在使得人们能够方便地构建简单、可靠、高效率的软件”(来自go官网golang.org)我们程序员在开发程序,开发软件时都会选择一门编程语言,那么我们应该怎样进行选择呢?可能有同学会说,我们要选择一门简单的,容易学习的,而且开发效率高的,能够在很短的时间内开发完成一个软件,这样老板会非常的满意,能够升职加薪,Python语言或者Ruby语言就非常适合这种快速开发。但是问题是,用这种语言开发的软件,当用户量多了,运行的速度会非常慢,给人的感觉就是非常卡,大家想一下这种软件还有

二: Go语言

1 :G O 语言介绍

    1. GO语言是什么

“Go是一种开源的程序设计语言,它意在使得人们能够方便地构建简单、可靠、高效率的软件”(来自 go 官网golang.org)

我们 程序员 在开发程序,开发软件时都会选择一门编程语言,那么我们应该怎样进行选择呢?可能有同学会说,我们要选择一门简单的,容易学习的,而且开发效率高的,能够在很短的时间内开发完成一个软件,这样老板会非常的满意,能够升职加薪,Python语言或者 Ruby 语言就非常适合这种快速开发。但是问题是,用这种语言开发的软件,当用户量多了,运行的速度会非常慢,给人的感觉就是非常卡,大家想一下这种软件还有人愿意使用吗?那可能又有同学说了,我们要学习运行速度快的编程语言,例如C或者是C++,但是这类编程语言学习难度是非常大的。那么有没有一种编程语言,学习非常简单,开发速度非常快,开发出的软件电脑运行速度非常快呢?有,就是我们今天开始学习的GO语言。GO 语言借鉴了 Python 等其它编程语言简单,易学,生产效率高,同时GO语言专门针对多处理器(多核CPU,在这里可以给学生看一下windows下的多核CPU,)系统的程序进行了优化(让每核CPU都能够执行GO语言开发的程序),这样使用GO语言开发的程序运行的速度可以媲美C或C++开发程序的速度。

    1. GO语言优势

1:运行速度快,简单易学

2:薪水待遇高

3:适合区块链开发

4:跨平台

5:丰富的标准库(指令),Go目前已经内置了大量的库,特别是网络库非常强大(开发飞秋软件)

6:Go里面也可以直接包含C代码,利用现有的丰富的C库

7:语言层面支持并发,这个就是Go最大的特色,天生的支持并发。所谓并发,所有正在运行的程序轮流使用CPU,每个程序允许占用CPU的时间非常短(比如10毫秒),这样用户根本感觉不出来CPU是在轮流为多个程序服务,就好象所有的程序都在不间断地运行一样。并发好处就是可以运行多个程序,并不卡顿。

    1. GO语言能干什么

1:网络编程,这一块目前应用最广,例如网站开发。

2:服务器编程,例如:处理日志,处理文件。(在网站开发的过程中都会涉及到)

3:区块链开发

2:环境安装

前面已经对GO语言做了一个简单的介绍,相信大家也已经基本有所了解了,那么我相信大家迫不及待的想学习GO语言了,但是我们在具体学习GO语言前,需要先安装GO的开发环境,只有把GO的开发环境安装好了,才能有GO语言的指令来开发网站,飞秋等等软件。也就是所谓的环境安装,就是将GO语言的指令都安装在你的电脑上,那么你在开发软件的时候就可以直接用了。GO环境的安装分为windows系统的安装和 linux 系统的安装,我们基础班先学习windows下的安装,就业班学习linux系统下Go环境的安装。

Windows下GO语言的环境安装步骤如下:

Go安装包下载网址:https://www.golangtc.com/download

有zip压缩版和msi安装版两个按本下载。(这里使用msi安装版,比较方便)。

运行msi安装文件,千万不要在安装路径中出现中文,一路Next。(关于安装路径在这里可以给学生重点强调,安装的位置以及不能出现中文名称)

3:第一个G O 程序

下面我们就用IDE工具,开发第一个GO程序。具体步骤如下:

1:选择文件--->新建 弹出如下对话框。

注意:程序名称,和程序保存位置不能输入中文

2:新建完成后,开始输入代码。

第一行:每个Go源代码文件的开头都是一个package声明,表示该Go代码所属的包。

GO语言中是通过包来对代码进行管理的。那么什么是包呢?我通过一个例子来解释一下包的概念。例如:有一家公司叫“京东“”,该公司有一个项目叫“京东网上商城”,该项目下面有管理“客户信息”的代码,另外一家公司叫“淘宝”,该公司也有一个项目叫“淘宝网上商城”,该项目下面也有管理的“客户信息”的代码,我开发的“客户管理软件”,既要用到“京东”的客户信息管理代码,也要用到“淘宝”的客户信息管理代码,为了能够很好的区分,我们在使用时必须写清楚,客户的信息管理代码到底是来自哪个商城,所以我可以这样写“import京东”,表示所使用的“客户信息代码”是来自“京东”的,那么“京东”就是一个标识,也就是包。所以说,包就是一个标识,标志着着你写的GO代码来自哪.这样代码管理非常清晰,使用也非常方便。

那么后面随着我们学习的深入,学习的代码也越来越多,我们给大家去讲解怎样自己创建包,来管理代码。创建包用到的就是package.

但是,不管你创建多少个包,要想让程序运行,必须包含一个main包。如果缺少该包,程序是无法运行的。

第三行代码:import表示导入,“fmt”是包名.

不管是使用我们自己定义的包还是GO自带都是通过import导入的,“fmt”是GO自带的包,该包 包含了怎样将信息打印在电脑屏幕上。注意包名要用“”表示。

第五行代码:表示程序的入口,程序就是从该位置开始执行的,就像是教室的门口一样,注意该行代码是固定的写法,func 与main之间必须有空格,同时main后面必须带小括号,后面的一对大括号表示要完成的具体工作,也就是完成具体任务的代码必须写在一对大括号内。

func表示后面跟着的main是一个函数,函数必须有一对小括号。什么是函数呢?现在大家可以先理解与我们在数学中学到的函数是一样的,都是实现某个具体的功能,例如我们学习的三角函数等。Main函数实现的就是入口功能。再次强调一下,GO语言中的函数前面必须加上func这个单词,而且函数名称后面必须跟一对小括号。

第六行代码:就是使用了fmt包(注意具体使用的时候不需要加上双引号)中的Print函数,将要“hello go” 打印在屏幕上。这行代码要注意的是,fmt包与Print函数之间是用.(点连接的),该点是在半角输入法状态下输入,同时Print函数第一个字母P是大写的,不能写成小写,也就是说GO语言是区分大小写的,有很多同学在这里容易出错。将要输出的信息写在Print函数的括号内(注意括号也是在半角状态下输入的),并且用双引号包裹起来(双引号也是半角状态下输入的)

3:代码运行

我们第一个GO程序已经写完了,那么我们写的程序到底能否运行呢?是否有错误呢?下面我们执行我们的程序,程序的执行分为两步:

  1. 编译

编译的操作步骤:点击 “编译” 菜单,选择 “Build” (或者直接按快捷键Ctrl+B).编译的目的是检查我们写的代码是否出错,如果没有出错,那么会提示“成功”,并且在我们程序所在的目录生成一个.exe文件,该文件就是可执行文件。如果出错那么会显示错误信息,并且不会生成.exe文件

  1. 执行

编译操作完成后,我们就可以执行我们的代码了,选择“编译”菜单中的”Run”,执行。执行的就是编译所生成的.exe文件。这时,有同学可能就会问,如果我们不执行“Build”,直接执行”Run”,可以吗?不可以,因为不执行”Build”就无法生成”.exe”文件,那么也就无法执行。最后,我们为了方便高效可以选择“Run”,这个选项,将编译与执行放在一起操作。

4:其它注意事项

现在我们已经将我们写的第一个GO语言程序,执行成功了,但是还有以下几点内容需要在给大家强调一下:

  1. 强制左花括号{的放置位置,如果把左花括号{另起一行放置,这样做的结果是Go编译器报告编译错误。
  2. 每行代码占一行。
  3. 如果我们在我们已经成功的程序中,在加入一行输入,应该怎么加呢?直接输入fmt.Print("aaaaa"),然后直接执”Run”,发现并没有新的内容输出,原因是什么?应该怎么做?
  4. 关于换行输出的问题,前面的输出都没有换行,那么怎样进行换行输出呢?

5:总结

对第一个GO程序进行总结。

4 : 学习资料

Go语言官网(需要翻墙): https://golang.org/

go中文社区: https://studygolang.com

go中文在线文档: https://studygolang.com/pkgdoc


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

逻辑的引擎

逻辑的引擎

[美] 马丁·戴维斯 / 张卜天 / 湖南科学技术出版社 / 2005-5 / 20.00元

本书介绍了现代计算机背后的那些基本概念和发展这些概念的人,描写了莱布尼茨、布尔、费雷格、康托尔、希尔伯特、哥德尔、图灵等天才的生活和工作,讲述了数学家们如何在成果付诸应用之前很久就已经提出了其背后的思想。博达著作权代理有限公司授权出版据美国W.W.Norton公司2000年版本译出。2007年第二版亦使用同一ISBN。一起来看看 《逻辑的引擎》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具