Hello,各位小伙伴,在接着之前发表的Go语言系列教程之投石问路之后,我们大致了解了一下Go语言的发展史和Go语言的优势,另外我也带着小伙伴进行了Go语言环境的安装和常用命令的介绍。接下来我们就正式的开启了我们的Go语言探索教程之路了,请各位小伙伴系好安全带,我们准备发车了~,滴滴
“hello world”大法
小伙伴都应该知道,在入门语言的基础就是运行hello word程序,就好比我们要修炼成上乘的武功,必先蹲起马步,练好基础,学习也不例外,编写程序也是万变不离其宗。
好了,废话不多说,对于Go语言的hello word 是非常的简单。因为它的语法特色就是非常明了简单,如图所示:
运行结果如图所示:
我们的运行结果出来也看得出来,Go语言的语法确实非常简单明了,但是一个简单的hello go 也存在很多容易让小伙伴们忽略的点,且听我给大家细细道来。
其实对应每个Go语言的源文件都对应了一个package 包,这个包名其实和文件名没有什么关系,实际开发中我们也习惯将包名和文件名设置一致,是为了引用和好辨认。
包是Go语言里面最基本的分发单位,也是后续所讲的项目工程管理中的依赖关系体现。其次呢,我们在代码中也可以看到有一个import 的标记,这个代表的是引入我们编写程序的依赖包,在本示例中我们需要打印“hello go”,所以引入了Go语言中的内置包fmt 。
在Go语言中要生成可执行的程序,就需要我们建立一个名字为main的包,并且在这个包中需要包含一个叫做main() 的函数,这个方法是属于程序执行的入口,也叫做起点。
请各位小伙伴注意一点的是Go语言的main函数是没有任何入参和返回值的。切记,切记。
当然在介绍完我们的hello word大法之后呢,我们也可以知道一点的是,在Go语言中函数的组成格式是:
Func(入参)(返回值){}
与以往的编程语言不同的是(类比于java),Go语言的返回参数不仅仅是一个,可以是二个甚至多个,举个大栗子:
是不是颠覆了你之前的认知呢?哈哈哈哈,我第一次学习的时候也惊讶了,当然细心的小伙伴是不是也发现了我们在入参和出参的时候也略微的不一样呢。
请各位同学注意一下,我们以后再go语言的开发中,统一都会将变量定义在前,变量类型定义在后,当然如果是多个变量类型一致,我们可以在最后简写为一个类型,是不是很方便呢?
“注 释”大 法
在Go语言中的注释分为两种注释方式,第一种属于行注释,第二种属于代码块注释,其实有编程基础的小伙伴可以类比学习。
像在java 代码中 我们也有行注释和代码块注释,它们表现的手法分别是 // 和/* XXX/,熟知Python语法的小伙伴知道对于Python的行注释和代码块注释是 # 和XXX
。
我们go语言的行注释和代码块的注释和java代码差不多(严重怀疑Go语言的开发者以前有借鉴过java的语法特点) // 和 /XXX/ 比java的块注释少了一个*号。
所以对比记忆下来,其实Go语言的学习还是会很轻松和愉快。但是需要大家注意一点的是(当然以后我也会给大家写到)因为Go语言之所以语法简单,结构清晰是因为:
go语言会存在代码检测(怀疑go语言作者以前被无用的代码困扰过),定义了无用的代码或变量,代码编译会不通过,代码运行会直接报错,在goland中会进行友好的提示:
对于这一点其实呢我觉得很好,因为即保证了代码的严谨性又保证了代码的规范,避免被无用的代码所误导。
以上就是Go语言入门教程之初窥门径,因为考虑到知识点的缘故,希望大家每天能够抽3分钟进行学习go语言,不断提高自己。
我们今天主要讲了go语言的hello word,在Go语言程序中需要注意的点和Go语言中的注释和语法特色。下次我们go语言的分享就是关于go语言系列教程之内功修炼,主要是Go语言的常量、变量、命名规范和枚举类型的讲解。