小程序游戏如何改变传统游戏市场的格局与未来发展方向
953
2022-11-24
爱上开源之golang入门至实战-第二章语言基础
第二章 语言基础
在上一章中,读者已经了解了如何搭建Golang开发环境及开发环境及程序的开发过程。
从本章开始,我们开始讲解golang语言基础,这些基本语言的语法和其他一些编程语言相比有些是类似的,但还有很多不同之处,不管读者是否以前学习过其他一门的语言,都最好花一定的时间来了解这些golang最基本的语法。
2.1 基础要素
Golang程序代码是由很多字符部分组成,其中任何一个字符部分都有它存在的意义。这些部分就是构成Golang程序代码的基础要素。本节就来讲解这些基础要素。
代码样例
package mainimport "fmt"func main() {// 单行注释/* 单行注释 *//**多行注释*/fmt.Println("Welcome to golang.")}
一段完整的GO语言的代码通常情况下由下面几个部分组成
用上段代码示例,我们一起来看看这段代码里都包含了那些基础元素:
小提示:
第二行代码 import “fmt” 对应的是包引入语句, 表示当前代码由外引入的标准库包或者其他的第三方库包, 如本例所示, 引入fmt标准库包, 在golang的程序代码里常常会引用多个不同的包, 可以多次出现包引入基础元素; fmt 包实现了格式化 IO(输入/输出)的函数; 我们通常用fmt来进行一些控制端打印的功能
小提示:
使用import()的方式简化包的引入 例如代码import (“fmt”“net”)引入时,使用包别名, 别名在每个代码文件里,必须唯一 例如代码import f“fmt”用idea进行开发时,会自动对引入包进行优化, 在程序代码中,没有使用到的引入包,在保存代码的时候,会被ide自动的清除掉(go mod的作用),但是我们的程序又必须依赖这个包, 可以通过 名称为“_”的系统别名的方式来进行引入,import _“fmt”除了“_”系统别名,还有另一个系统别名“.”, 表示为当前包, 这样写代码的时候,可以省略掉包名或者别名; 系统别名“_”和 “.” 可以出现多次import .“fmt”import .“net”
第三行代码 func main(){} 对应的是函数申明; main 函数是每一个可执行程序所必须包含的,package main里的main函数是一个可运行程序的主方法入口,
小提示:
main 函数是每一个可执行程序所必须包含的, 如果我们只是开发工具包或者封装一些应用类是不需要main函数的。 只有在package main下定义的main函数才有实际的主入口函数的意义, 定义在非main的package下的main函数,不会作为主入口函数执行;注意函数定义的花括号, 前花括号必须和前面部分同一行, 在前花括号后进行换行, 这点是golang的语法解析要求的;必须严格遵照,否则代码不能进行编译还有另一个有意义的函数,大家也一定要记牢; init不带任何参数的函数func init(){} 这个函数为初始化函数, 在执行过程中,会提前在main函数执行之前调用; 在后面相关实战章节,我们还会重点的进行介绍第四行至第七行 对应的是注释, 作为一个优秀而专业的程序员,在代码的实现过程中一定要必不可少的添加相关的注释其他部分; fmt.Println(“Welcome to golang.”) 是语句, 实现在控制台打印Welcome to golang.的功能; 其中fmt为实现了控制台打印的包fmt, Println是在该包里定义的一个函数, 有关语句和变量 我们在后面的章节会进行介绍
小提示:
引入时用“.”作为别名的包,可以省略包名;即 如果引入改为 import . “fmt”下面的调用 可以直接使用 Println("Welcome to golang."), 而不需要使用“fmt.”的方式
2.2 行分隔符
在golang里, 各种基础元素之间用换行符进行分割, 不需要额外的字符(和java以及其他某些语言的区别,句尾直接换行符,没有其他分隔符,比如java的“;”), 如果一行包含多个语句, 使用;在同一行进行分离
示例:
循环打印一个数组里的数字func loopExample() {var arrays []int = []int{1, 2, 3}for idx, one := range arrays {fmt.Printf("%d %d\n", idx, one)}}
2.3 标识符
标识符是定义的包名、函数名或者变量等起的名称,例如我们的样例代码中的loopExample, arrays, fmt,Printl都是标识符,其中loopExample是函数名,arrays是变量名名,fmt是包名, Println也是函数名,除此之外还可以为类型名,结构体名, 属性名, 接受体名, 泛型名等。
在golang中规定标识符由大小写字母(A~Z和a~z)、数字(0~9)、下划线(_)组成,但是不能以数字开头。例如 WelcomeGo、Welcome_Go、_WelcomeGo都是合法的标识符。但是如下几种就不是合法的标识符。
123_WelcomeGo(标识符以数字开头)
Welcome Go(标识符中包含了空格)
在golang中标识符是严格区分大小写的,WelcomeGo和 Welcomego是完全不同的标识符。
小提示:
引入包中的函数或者变量名, 以大写字母开头的,才对其他包可见,否则不可见, 在golang里,称为exportable,
2.4 关键字(保留字)
关键字也称之为保留字;保留字更能体现出其的含义。 被golang系统保留的具有特殊用途或者含义的标识符;读者最好深刻记忆这些关键字并对这些关键字的用途要熟练的进行掌握。
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
Append cap close copy false
Imag iota len make new
nil panic println recover True
除了以上作为保留的关键字以外, 一下还有golang里系统已经定义的数据类型和内置方法,也作为保留字标识符
bool byte complex complex64 complex128 uint16 float32
float64 int int8 int16 uint32 int32 int64
uint64 real string uint uint8 uintptr
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~