Skip to content

04

Go 语言基础语法

Go 标记

Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号。如以下 GO 语句由 6 个标记组成:
fmt.Println("Hello, World!")
6 个标记是(每行一个):
1. fmt
2. .
3. Println
4. (
5. "Hello, World!"
6. )

行分隔符

Go 程序中,一行代表一个语句结束。每个语句不需要像 C 家族中的其它语言一样以分号 ; 结尾
如果你打算将多个语句写在同一行,它们则必须使用 ; 人为区分

注释

// 单行注释
/*
 Author by 菜鸟教程
 我是多行注释
 */

标识符

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

//有效
mahesh   kumar   abc   move_name   a_123
myname50   _temp   j   a23b9   retVal

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

字符串连接

Go 语言的字符串连接可以通过 + 实现
package main
import "fmt"
func main() {
    fmt.Println("Google" + "Runoob")
}

关键字

下面列举了 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 语言中,空格通常用于分隔标识符、关键字、运算符和表达式,以提高代码的可读性。
Go 语言中变量的声明必须使用空格隔开,如:
var x int
const Pi float64 = 3.14159265358979323846

在变量与运算符间加入空格,程序看起来更加美观,如:
fruit = apples + oranges; 

在关键字和表达式之间要使用空格
if x > 0 {
    // do something
}
在函数调用时,函数名和左边等号之间要使用空格,参数之间也要使用空格:
result := add(2, 3)

格式化字符串

Go 语言中使用 fmt.Sprintf 或 fmt.Printf 格式化字符串并赋值给新串:

Sprintf 根据格式化参数生成格式化的字符串并返回该字符串。
Printf 根据格式化参数生成格式化的字符串并写入标准输出。

package main

import (
    "fmt"
)

func main() {
   // %d 表示整型数字,%s 表示字符串
    var stockcode=123
    var enddate="2020-12-31"
    var url="Code=%d&endDate=%s"
    var target_url=fmt.Sprintf(url,stockcode,enddate)
    fmt.Println(target_url)
}
// 输出结果为:
Code=123&endDate=2020-12-31



package main

import (
    "fmt"
)

func main() {
   // %d 表示整型数字,%s 表示字符串
    var stockcode=123
    var enddate="2020-12-31"
    var url="Code=%d&endDate=%s"
    fmt.Printf(url,stockcode,enddate)
}
// 输出结果为:
Code=123&endDate=2020-12-31

Go 字符串格式化符号

格 式 描 述
%v 按值的本来值输出
%+v 在 %v 基础上,对结构体字段名和值进行展开
%#v 输出 Go 语言语法格式的值
%T 输出 Go 语言语法格式的类型和值
%% 输出 % 本体
%b 整型以二进制方式显示
%o 整型以八进制方式显示
%d 整型以十进制方式显示
%x 整型以十六进制方式显示
%X 整型以十六进制、字母大写方式显示
%U Unicode 字符
%f 浮点数
%p 指针,十六进制方式显示