与其他编程语言一样,Go 语言项目(大程序)都是从基本组件和基本语法编写而成。上一章节我们已经了解了 Go 语言的样子,本章节我们将学习 Go 语言的基础语法,也将是接下来所有 Go 程序中不可或缺的部分。
Go 中类型、变量、常量、语句标签、包和函数的命名都遵循一个简单的规则:命名的开头是一个字母或下划线而不能是数字,后面可以跟任意数量的字符、数字和下划线,并区分大小写。 如 xcbeyond 和 xcBeyond 是不同的标识符。
以下是有效的标识符:
mahesh kumar abc move_name a_123
myname50 _temp j a23b9 retVal
以下是无效的标识符:
1ab
:以数字开头。case
:Go 语言的关键字。a+b
:运算符是不允许的。Go 语言和其他语言一样,也有一些关键词供程序使用。Go 中有 25
个关键字或保留字:
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
除了以上介绍的这些关键字,Go 语言还有 36
个预定义标识符:
append bool byte cap close complex complex64 complex128 uint16
copy false float32 float64 imag int int8 int16 uint32
int32 int64 iota len make new nil panic uint64
print println real recover string true uint uint8 uintptr
注释,是为了增强代码的可读性,但不参与程序的一切功能,不会被编译。每个程序都应该在适当的位置添加注释,用于功能、实现、标注等说明,如果你不想不其他人唾弃,请一定养成编写注释的习惯,注释和代码同样重要。
Go 语言的注释主要分为两类:
//
开头的单行注释,是最常见的注释形式。/*
开头,并以 */
结尾。如下所示:
package main
import "fmt"
func main() {
// "Hello World!" Go语言程序
fmt.Println("Hello World!")
// 这是一个单行注释
/*
这是一个多行注释
by xcbeyond
*/
}
在 Go 程序中,一行代表一个语句结束。每个语句不需要像Java等其它语言一样以分号 ;
结尾,因为这些工作都将由Go编译器自动完成。
如果你打算将多个语句写在同一行,则必须使用 ;
人为区分,但在实际开发中我们并不鼓励这种做法。
以下为两个语句:
fmt.Println("Hello, World!")
fmt.Println("Hello, xcbeyond!")
Go 语言的字符串输出可以通过函数 fmt.Println
或 fmt.Print
实现,fmt.Println
会输出后换行,类似于Java语言中的 System.out.println
和 System.out.print
。
如下所示:
package main
import "fmt"
func main() {
// 输出后换行
fmt.Println("xcbeyond,帅么?")
// 输出后不换行
fmt.Print("帅!")
fmt.Print("太帅了!")
}
输出结果:
xcbeyond,帅么?
帅!太帅了!
此外,字符串输出还可以进行格式化输出,后续章节会进行介绍。
Go语言的字符串拼接最常用的方法是通过 +
实现:
package main
import "fmt"
func main() {
fmt.Println("xc" + "beyond")
}
输出结果:
xcbeyond
+
实现拼接,会产生一个新的字符串对效率有所影响。除此之外,还可以借助函数fmt.Sprintf
、strings.Join
、buffer.WriteString
等实现,后续字符串章节会详细介绍。