Golang引入 【1】简介: Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种计算机编程语言语言。 【2】设计初衷: Go语言是谷歌推出的一种的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。派克表示,和今天的C++或C一样,Go是一种系统语言。他解释道,"使用它可以进行快速开发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大。" 1) 计算机硬件技术更新频繁,性能提高很快。目前主流的编程语言发展明显落后于硬件,不能合理利用多核多CPU的优势提升软件系统性能。 2) 软件系统复杂度越来越高,维护成本越来越高,目前缺乏一个足够简洁高效的编程语言。 3) 企业运行维护很多c/c++的项目,c/c++程序运行速度虽然很快,但是编译速度确很慢,同时还存在内存泄漏的一系列的困扰需要解决。 【3】应用领域: 开发工具介绍 【1】工具介绍: 1) visual studio code, Microsoft产品(简称VSCode):一个运行于Mac Os、Windows和Linux 之上的,默认提供Go语言的语法高亮,安装Go语言插件,还可以支持智能提示,编译运行等功能。 2) Sublime Text,可以免费使用,默认也支持Go代码语法高亮,只是保存次数达到一定数量之后就会提示是否购买,点击取消继续用,和正式注册版本没有任何区别 3) Vim: Vim是从vi发展出来的一个文本编辑器,代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用 4) Emacs : Emacs传说中的神器,她不仅仅是一个编辑器,因为功能强大,可称它为集成开发环境 5) Eclipse IDE工具,开源免费,并提供GoEclipse插件 6) LitelDE,LitelDE是一款专门为Go语言开发的跨平台轻量级集成开发环境(IDE),是中国人开发的。 7) JetBrains公司的产品:PhpStrom、WebStrom和PyCharm等IDE工具,都需要安装Go插件。 【2】VSCode的安装: 下载vscode安装软件 https://code.visualstudio.com/download开发环境搭建 【1】搭建Go开发环境 - 安装和配置SDK 基本介绍: 1) SDK的全称(Software Development Kit 软件开发工具包) 2) SDK是提供给开发人员使用的,其中包含了对应开发语言的工具包。 【2】SDK下载 1) Go语言的官网为: golang.org ,无法访问,需要翻墙。 2) SDK下载地址 : Golang中文社区:https://studygolang.com/dl (1.15.6版本) 【3】安装SDK: 请注意:安装路径不要有中文或者特殊符号如空格等 SDK安装目录建议:一般我安装在d:/golang_sdk安装时 , 基本上是傻瓜式安装,解压就可以使用 go整个目录就是sdk 测试SDK环境搭建成功 【1】进入控制命令台: win+R -->cmd 【2】证明SDK环境成功: 【3】如果我想要在任意的路径下执行某个命令,需要将这个命令所在的目录配置到环境变量path中去 将命令"注册"到当前的计算机中,配置path环境变量: 【4】再次验证path是否好用:(注意:控制命令台需要重启) HelloWorld快速入门 【1】go基本目录结构: 【2】创建go源文件: 【3】开始写代码: 第一个HelloWorld :package main //声明文件所在的包,每个go文件必须有归属的包 import "fmt" //引入程序中需要用的包,为了使用包下的函数,比如:Println func main() { //main主函数,程序的入口 fmt.Println("Hello Golang!") //在控制台打印输出一句话,双引号中的内容会原样输出 } 【4】对源文件test.go进行编译:go build 【5】执行操作: 【6】通过go run直接可以帮我们编译 执行 源文件: Golang执行流程 【1】执行流程分析: 【2】上述两种执行流程的方式区别 1) 在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了很多。 2) 如果我们先编译生成了可执行女件,那么我们可以将该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行 3) 如果我们是直接go run go源代码,那么如果要在另外一个机器上这么运行,也需要go开发环境,否则无法执行。 4) go run运行时间明显要比第一种方式 长一点点 【3】编译注意事项:编译后的文件可以另外指定名字: 语法注意事项 (1)源文件以"go"为扩展名。 (2)程序的执行入口是main()函数。 (3)严格区分大小写。 (4)方法由一条条语句构成,每个语句后不需要分号(Go语言会在每行后自动加分号),这也体现出Golang的简洁性。 (5)Go编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一个,否则报错 (6)定义的变量或者import的包如果没有使用到,代码不能编译通过。 (7)大括号都是成对出现的,缺一不可注释 【1】注释的作用: 用于注解说明解释程序的文字就是注释,注释提高了代码的阅读性; 注释是一个程序员必须要具有的良好编程习惯。 将自己的思想通过注释先整理出来,再用代码去体现。 【2】Golang中注释类型: Go支持c语言风格的/**/块注释,也支持c++风格的//行注释。行注释更通用,块注释主要用于针对包的详细说明或者屏蔽大块的代码 (1)行注释 // VSCode快捷键:ctrl+/ 再按一次取消注释 (2)块注释(多行注释) /**/ VSCode快捷键:shift+alt+a 再按一次取消注释 注意:块注释中不可以嵌套块注释 提示:官方推荐使用行注释 //代码风格 【1】注意缩进 向后缩进:tab 向前取消缩进:shift+tab 通过命令完成格式化操作:gofmt test.go //只是效果展示,不会写入源文件中 gofmt -w test.go //会写入源文件 【2】成对编程 {} () "" ‘’ 【3】运算符两边加空白 【4】注释:官方推荐行注释// 【5】以下代码是错误的: 原因:go的设计者想要开发者有统一的代码风格,一个问题尽量只有一个解决方案是最好的 【6】行长约定: 一行最长不超过80个字符,超过的请使用换行展示,尽量保持格式优雅 参考原文:cyz