Go语言程序设计及实例 课件 第1章 Go语言及编程环境_第1页
Go语言程序设计及实例 课件 第1章 Go语言及编程环境_第2页
Go语言程序设计及实例 课件 第1章 Go语言及编程环境_第3页
Go语言程序设计及实例 课件 第1章 Go语言及编程环境_第4页
Go语言程序设计及实例 课件 第1章 Go语言及编程环境_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章Go语言及编程环境Go语言简介01诞生背景诞生背景为应对新时代互联网的应用程序需要,谷歌的罗伯特·格瑞史莫(RobertGriesemer)、罗布·派克(RobPike)和肯·汤普逊(KenThompson)于2007年9月开始着手设计一种全新的编程语言——Go语言,随后IanLanceTaylor和RussCox加入该项目,新语言不仅原生支持并发多核编程、极大提升了编译速度,而且彻底摒弃了传统语言中很多复杂(并不实用)的语法。Go语言一经推出就广受欢迎,于2009年11月开放源代码,并在Linux及MacOSX平台上进行了实现,后来还追加了Windows系统下的实现。02设计哲学1.少即是多2.世界是组合的3.面向接口编程设计哲学(1)(2)(3)在编程领域也有一个所谓的“二八定律”,即:百分之八十的代码仅使用到百分之二十的语言特性。可见,单纯地增加语言特性并不能保证开发效率的提升,原因是它会增加复杂性,导致程序员更容易犯错。遵循“二八定律”正如用一个方向盘就可以控制汽车行驶,就没必要造具有多个方向盘甚至复杂方向变换系统的汽车。例如,Go语言只有for循环,而不像其他语言那样还有while、dowhile、foreach等多种循环语句,只提供一种方法做事情,把事情做到极致就好。做任何事只提供一种方法几何上的正交指两个向量垂直,现实中的正交是指多个因素的一个发生变化,不会影响其他因素。例如,Go语言中的协程、接口、类型系统之间是相互独立(正交)的,但在编程中通过组合运用这些特性,却可以极大地提升语言表现力,实现很多复杂的功能。提供正交的语言特性1.少即是多设计哲学2.世界是组合的Go语言的设计者从物质世界的构成模式得到启发,发现“组合”才是世间万物最基本最常见的关系,而过往的以“继承”为基础的面向对象语言(典型如Java),在对事物的描述上存在根本的缺陷,类和对象更适合表现孤立的单个事物,一旦涉及多个事物间的复杂交互就会出现各种问题,为此Go语言设计者提出“组合优于继承”的观点,采用组合的方式来描述对象之间的关系,更贴近真实的自然世界。Go没有像Java一样“宗教式”地完全面向对象,而是结合了面向过程、函数式设计及面向对象的优点,其语法元素与C语言有相似之处,用结构体(struct)及其强大的类型系统来构建具有自身特色的面向对象体系,通过函数、接口、类型、闭包等元素的组合,能够轻松地把大型程序的各个模块巧妙地衔接运作起来。设计哲学3.面向接口编程Go语言编程是面向接口的,采用一种Duck模型,即类型(类)不再需要显式地声明自己实现了哪个(些)接口,接口类型的判断完全交给底层语言编译器去处理,这就将接口与其实现彻底地分开,形成了一种“面向接口”的全新编程方式。程序员无须在一开始就精心设计整个系统的接口继承体系,而是先基于当下具体的某个应用需求局部设计实现一些小的接口,后续再根据需求变化和应用扩展的需要,通过已有接口的自由组合,构造出更抽象、更普适、功能更强的新接口,这使得Go程序的重构非常容易,尤其适合互联网时代应用快速迭代的开发方式。03优势特性优势特性Go的优势特性主要体现在如下几个方面。(1)Go的语法十分简洁,仅仅用了25个关键字,是所有主流编程语言中关键字最少的。(2)Go语言支持垃圾回收;内置强大的类型系统支持各种复合数据类型,如关联数组、切片、映射和列表等;内存安全,如内置数组边界检查,极大减少越界访问带来的安全隐患;还有大量的包和第三方库的支持。(3)基于类似C的结构体(struct)以组合方式构建的面向对象系统,不仅具备Java对象系统的所有功能,而且对问题域的描述和表现力更强,更贴近客观真实的世界;内置接口类型,通过接口组合形成新的接口,非侵入式的接口机制彻底解除了接口与实现的耦合,便于快速重构和迭代开发大型应用系统。(4)Go在语言级别原生支持并发,简化了并发程序设计;基于通道和协程通信的并发机制相比传统语言的线程机制效率更高,有利于充分发挥多核CPU的威力,为互联网云时代微服务开发的首选语言。第1章Go语言及编程环境Go语言安装与使用01平台与版本平台与版本Go是跨平台的编程语言,在各主流操作系统平台上都有对应的安装包,访问官网/dl/(Golang中国)可分别下载到Go在Windows、MacOSX、Linux平台上的安装包及源码,如图。02Windows平台安装Go语言1.下载Go语言编程环境2.安装Go语言编程环境Windows平台安装Go语言1.下载Go语言编程环境在图的页面上点击“MicrosoftWindows”区块的链接下载Go的安装包,得到的安装包文件名为go1.20.4.windows-amd64.msi。2.安装Go语言编程环境(1)双击下载得到的安装包文件,启动安装向导如图,单击“Next”按钮。Windows平台安装Go语言(2)在“End-UserLicenseAgreement”界面勾选“IacceptthetermsintheLicenseAgreement”接受许可条款,如图,单击“Next”按钮。Windows平台安装Go语言(3)在“DestinationFolder”界面设置Go的安装目录,这个目录是作为Go语言环境的GOROOT路径,通常默认“C:\ProgramFiles\Go”,如图,单击“Next”按钮。Windows平台安装Go语言(4)在下一个界面单击“Install”按钮开始安装,界面进度条显示安装进度,完成后单击“Finish”按钮关闭向导,结束安装。以管理员身份打开Windows命令行,输入“goversion”,出现Go的版本信息就表示安装成功,如图。03第一个Go程序1.编写Go程序2.运行Go程序第一个Go程序1.编写Go程序【实例1.1】编写第一个Go程序。打开Windows记事本,编写程序代码如下(hello.go):packagemain //(a)

import"fmt" //(b)

funcmain(){ //(c) fmt.Printf("Hello,我爱Go语言!@easybooks\n") //(d)}说明:(a)包声明语句。在所有Go源程序文件头部都要用一行“package包名”声明其代码所属的包,Go通过包来管理和组织源代码。(b)包导入语句。“import"包名"”语句导入包,通常Go程序都要像这样在开头用一条或多条import语句导入一个或多个需要引用的外部包,可以是Go语言内置标准库的包,也可以是第三方包或自定义的包。(c)入口函数。用func关键字声明定义一个函数,这里所声明的main函数是Go程序的入口函数,程序编译后由此进入开始执行。(d)“fmt.Printf("Hello,我爱Go语言!@easybooks\n")”调用标准输入/输出包的Printf函数输出字符串,要输出的字符串作为实参传入Printf函数,必须用双引号("")括起来,注意这里不能用单引号。第一个Go程序2.运行Go程序在Windows命令行下运行Go程序有两种方式。(1)gorun命令直接运行gorun命令直接编译并执行源码中的main函数。打开命令行,用cd命令进入到GOPATH目录,输入命令:gorunhello.go立即看到程序输出结果。第一个Go程序(2)gobuild命令生成可执行文件运行gobuild命令会先将源码编译为可执行(.exe)文件,然后由用户运行该文件来执行程序。在命令行GOPATH目录中执行命令:gobuildhello.go待命令执行过后,去到GOPATH目录下可以看到生成了一个hello.exe文件。运行文件hello.exe,直接输入:hello.exe输出同样的结果。以上两种方式运行Go程序的过程如图。第1章Go语言及编程环境Go语言集成开发环境01常用集成开发环境常用集成开发环境可用于Go语言编程的集成开发环境很多,比较常用的如下。(1)GolandGoland是由著名的JetBrains公司推出的一个商业IDE,它整合IntelliJ平台,提供了针对Go语言的编码辅助和大量工具集成。(2)LiteIDELiteIDE是由国内开发者做出的一款专门针对Go语言的轻量级开发环境,它基于Qt、Kate和SciTE,包含了跨平台开发及其它一些必要特性,对代码编写、自动补全和运行调试都有很好的支持,同时还包括了对源代码的抽象语法树视图和一些内置工具。(3)SublimeText这是一个跨平台的文本编辑器,支持编写非常多的编程语言代码,它通过一个叫GoSublime的插件来支持Go语言的代码补全和程序模版创建。(4)GoClipseGoClipse是一个为Eclipse添加Go语言编程功能的插件,通过gocode来实现代码补全,为初学者创造一个开发Go语言的环境,它依附于著名的Eclipse平台,可以很容易地享有Eclipse本身所具有的诸多功能。(5)VSCodeVSCode是一款由微软开发的跨平台开源代码编辑器,它使用JSON格式的配置文件进行所有功能和特性的配置,通过扩展程序为编辑器实现语法高亮、参数提示、编译、调试、文档生成等各种功能。02GoLand安装与配置1.安装2.初始启动3.项目配置GoLand安装与配置1.安装(1)GoLand下载地址/go/,单击官方主页上的“Download”按钮,转到下载页,点击页面上的“directlink”链接下载GoLand安装包。(2)双击下载得到的安装包goland-2023.1.2.exe,启动GoLand安装向导如图,单击“Next”按钮。GoLand安装与配置(3)在“ChooseInstallLocation”界面设置GoLand安装目录,单击“Next”按钮。(4)在“InstallationOptions”界面对GoLand安装选项进行配置,如图。为方便使用Go语言环境,建议选中全部选项,单击“Next”按钮。GoLand安装与配置(5)在“ChooseStartMenuFolder”界面选择(命名)要在其中创建程序快捷方式的开始菜单目录(通常保持默认的“JetBrains”),单击“Install”按钮开始安装,界面进度条显示安装进度,完成后在“CompletingGoLandSetup”界面确保选中了“Rebootnow”选项,单击“Finish”按钮关闭向导,如图,系统会自动重启,使所有的GoLand安装选项生效。GoLand安装与配置2.初始启动(1)GoLand环境支持老用户使用已有的配置,在初次启动时会弹出如图所示的对话框询问是否导入已有设置,由于笔者计算机是第一次安装GoLand,选“Donotimportsettings”,单击“OK”按钮。GoLand安装与配置(2)GoLand是商业软件,需要先激活才能使用。在如左图所示的界面上选中“ActivateGoLand”、“Activationcode”,于下方文本区粘贴获取到的激活码,单击“Activate”按钮,激活成功后,在接下来的界面单击“Continue”,出现欢迎界面如右图所示。GoLand安装与配置(3)GoLand界面默认背景是暗黑色,如果不习惯可以进行更改,操作方法是:点选欢迎界面左侧“Customize”切换至环境定制选项页,在“Colortheme”下拉列表中选择“IntelliJLight”选项,界面背景立刻变为舒适的亮白色,如左图所示。点选左侧“Projects”又切换回欢迎界面,如右图所示。

GoLand安装与配置3.项目配置(1)创建Go项目点击GoLand欢迎界面上的“NewProject”()图标按钮创建一个Go项目,出现“NewProject”界面,在“Location”栏设置项目保存路径及给项目命名。项目默认保存在操作系统当前用户的GolandProjects目录下,第一次创建项目时GoLand会自动生成这个目录,并给项目取默认名awesomeProject,如图所示。GoLand安装与配置(2)配置项目的Go环境项目的Go环境通过GOROOT与GOPATH两个环境变量来配置,之前在安装使用Go语言的时候对它们的意义已有所提及。GOROOT:Go语言本身(与所使用的开发工具无关)的安装目录,通常默认为“C:\ProgramFiles\Go”,当然在安装Go语言时也可通过向导的“DestinationFolder”界面进行更改。GOPATH:这是Go程序编译时参考的工作目录,类似于Java的工作区(Workspace),由用户自己创建或指定,笔者的是C:\Users\Administrator\go。开发时Go项目所要引用的第三方库、框架及其他独立的.go源文件都放在这个目录(及其子目录)下,以便Go编译器能够找到。GoLand安装与配置GOPATH则需要用户来设置,可以在一开始创建项目时就通过点选“NewProject”界面左侧“Go(GOPAT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论