如今流行的网站建设,万网制作淘宝客网站,视频网站 外链,建设网站的技术难点上一节#xff0c;我们了解Go语言特性以及第一个Go语言程序——Hello World#xff0c;这一节就让我们更深入的了解一下Go语言的**基础语法**吧#xff01;
一、行分隔符
在 Go 程序中#xff0c;一行代表一个语句结束。每个语句不需要像 C 家族中的其它语言一样以分号 ;…上一节我们了解Go语言特性以及第一个Go语言程序——Hello World这一节就让我们更深入的了解一下Go语言的**基础语法**吧
一、行分隔符
在 Go 程序中一行代表一个语句结束。每个语句不需要像 C 家族中的其它语言一样以分号 ; 结尾因为这些工作都将由 Go 编译器自动完成。
建议不要将多个语句写在同一行如果同一行有多个语句也需要用分号 ; 区分。
二、关键字
程序一般由关键字、常量、变量、运算符、类型和函数组成。 格式化输出 三、命名
Go语言中的函数名、变量名、常量名、类型名、语句标号和包名等所有的命名都遵循一个简单的命名规则Go 语言变量名由字母、数字、下划线 组成其中首个字符不能为数字。大写字母和小写字母是不同的。
四、声明
1.Go语言主要有四种类型的声明语句:
var 变量const 常量type 类型func 函数实体对象的声明
2.声明顺序
一个Go语言编写的程序对应一个或多个以 .go 为文件后缀名的源文件中。每个源文件以包的声明语句开始说明该源文件是属于哪个包。包声明语句之后是 import 语句导入依赖的其它包。然后是包一级的 类型、变量、常量、函数 的声明语句包一级的各种类型的声明语句的顺序无关紧要 (译注 : 函数内部的名字则必须先声明之后才能使用) 。
五、变量
声明变量的一般形式是使用 var 关键字
一、var 可以创建一个特定类型的变量然后给变量附加一个名字并且设置变量的初始值。变量声明的一般语法如下 var 变量名字 类型 表达式 其中 “类型” 或 “ 表达式” 两个部分可以省略其中的一个。
如果省略的是类型信息那么将根据初始化表达式来推导变量的类型信息。如果初始化表达式被省略那么将用零值初始化该变量。 数值类型变量对应的零值是0布尔类型变量对应的零值是false字符串类型对应的零值是空字符串接口或引用类型包括slice、map、chan和函数变量对应的零值是nil。数组或结构体等聚合类型对应的零值是每个元素或字段都是对应该类型的零值。
零值初始化机制可以确保每个声明的变量总是有一个良好定义的值因此在Go语言中不存在 未初始化的变量。
二、var 也可以一次声明或初始化多个变量 var i, j, k int // int, int, int var b, f, s true, 2.3, four // bool, float64, string 初始化表达式可以是字面量或任意的表达式。
三、一组变量也可以通过调用一个函数由函数返回的多个返回值初始化 var f, err os.Open(name) // os.Open returns a file and an error 在包级别声明的变量会在main入口函数执行前完成初始化局部变量将在声明语句被执行到的时候完成初始化。
四、简短变量声明使用 : 赋值操作符
在函数内部有一种称为简短变量声明语句的形式可用于声明和初始化局部变量变量的类型根据表达式来自动推导。
简短变量初始化语法 变量名字 : 表达式 (注意它只能被用在函数体内而不可以用于全局变量的声明与赋值) 因此我们可以将它们简写为 a : 50 或 b : false。 a 和 b 的类型int 和 bool将由编译器自动推断。 和var形式声明语句一样简短变量声明语句也可以用来声明和初始化一组变量 i, j : 0, 1 //int int 但是这种同时声明多个变量的方式应该限制只在可以提高代码可读性的地方使用比如 for语句循环的初始化语句部分。
和普通var形式的变量声明语句一样简短变量声明语句也可以用函数的返回值来声明和初始 化变量像下面的os.Open函数调用将返回两个值 f, err : os.Open(name) if err ! nil { return err } // ...use f... f.Close() 注意如果在相同的代码块中我们不可以再次对于相同名称的变量使用初始化声明例如a : 20 就是不被允许的编译器会提示错误 no new variables on left side of :但是 a 20 是可以的因为这是给相同的变量赋予一个新的值。
如果你在定义变量 a 之前使用它则会得到编译错误 undefined: a。
如果你声明了一个局部变量却没有在相同的代码块中使用它同样会得到编译错误。
六、常量
常量是一个简单值的标识符在程序运行时不会被修改的量。常量的定义格式 const 变量名 [type] 表达式 //你可以省略类型说明符 [type]因为编译器可以根据变量的值来推断其类型。 常量表达式的值在编译期计算而不是在运行期。常量中的数据类型只可以是布尔型、数字型整数型、浮点型和复数和字符串型。和变量声明一样可以批量声明多个常量。常量可以用len(), cap(), unsafe.Sizeof()函数计算表达式的值。常量表达式中函数必须是内置函数否则编译不过。
七、条件语句
条件语句需要开发者通过指定一个或多个条件如果条件为true则执行语句1如果条件为false则执行语句2。 八、循环语句