干货来了!!!为了让更多的小伙伴喜欢Golang、加入Golang之中来,Golang语言社区发起人彬哥联合业界大牛共同推出了Go语言基础、进阶、提高课程,目前已在网易云课堂限时特价分享,希望有兴趣的朋友们多多分享和支持!

以下是Go语言基础、进阶、提高课程--第三节:Go语言基础语法的部分文本教案,具体详细视频课程请扫描文章下方图片二维码或点击阅读原文!

Go 标记

Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号。如以下 GO 语句由 6 个标记组成:

1fmt.Println("Hello, World!")

6 个标记是(每行一个):

11. fmt
22. .
33. Println
44. (
55. "Hello, World!"
66. )

行分隔符

在 Go 程序中,一行代表一个语句结束。每个语句不需要像 C 家族中的其它语言一样以分号 ; 结尾,因为这些工作都将由 Go 编译器自动完成。

如果你打算将多个语句写在同一行,它们则必须使用 ; 人为区分,但在实际开发中我们并不鼓励这种做法。

以下为两个语句:

1fmt.Println("Hello, World!")
2fmt.Println("Golang语言社区:www.Golang.Ltd")

注释

注释不会被编译,每一个包应该有相关注释。

单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。多行注释也叫块注释,均已以 /* 开头,并以 */ 结尾。如:

1// 单行注释
2/*
3Author by 菜鸟教程
4我是多行注释
5*/

标识符

标识符用来命名变量、类型等程序实体。一个标识符实际上就是一个或是多个字母(A~Z和a~z)数字(0~9)、下划线_组成的序列,但是第一个字符必须是字母或下划线而不能是数字。

以下是有效的标识符:

1mahesh   kumar   abc   move_name   a_123
2myname50   _temp   j   a23b9   retVal

以下是无效的标识符:

  • 1ab(以数字开头)
  • case(Go 语言的关键字)
  • a+b(运算符是不允许的)

关键字

下面列举了 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 语言的空格

Go 语言中变量的声明必须使用空格隔开,如:

1var age int;

语句中适当使用空格能让程序更易阅读。

无空格:

1fruit=apples+oranges;

在变量与运算符间加入空格,程序看起来更加美观,如:

1fruit = apples + oranges;

Go 程序的一般结构: basic_structure.go

 1// 当前程序的包名
 2package main
 3
 4// 导入其他包
 5import . "fmt"
 6
 7// 常量定义
 8const PI = 3.14
 9
10// 全局变量的声明和赋值
11var name = "gopher"
12
13// 一般类型声明
14type newType int
15
16// 结构的声明
17type gopher struct{}
18
19// 接口的声明
20type golang interface{}
21
22// 由main函数作为程序入口点启动
23func main() {
24    Println("Hello World!")
25}

Go 程序是通过 package 来组织的。

只有 package 名称为 main 的包可以包含 main 函数。

一个可执行程序有且仅有一个 main 包。

通过 import 关键字来导入其他非 main 包。

可以通过 import 关键字单个导入:

1import "fmt"
2import "io"

也可以同时导入多个:

1import {
2    "fmt",
3    "io"
4}

使用 <PackageName>.<FunctionName> 调用:

1package 别名:
2// 为fmt起别名为fmt2
3import fmt2 "fmt"

省略调用(不建议使用):

1// 调用的时候只需要Println(),而不需要fmt.Println()
2import . "fmt"

前面加个点表示省略调用,那么调用该模块里面的函数,可以不用写模块名称了:

1import . "fmt"
2func main (){
3    Println("hello,world")
4}

通过 const 关键字来进行常量的定义。

通过在函数体外部使用 var 关键字来进行全局变量的声明和赋值。

通过 type 关键字来进行结构(struct)和接口(interface)的声明。

通过 func 关键字来进行函数的声明。

可见性规则

Go语言中,使用大小写来决定该常量、变量、类型、接口、结构或函数是否可以被外部包所调用。

函数名首字母小写即为 private :

1func getId() {}

函数名首字母大写即为 public :

1func Printf() {}