Go 语言基础语法

简介: Go 语言基础语法

上一章节我们已经了解了 Go 语言的基本组成结构,本章节我们将学习 Go 语言的基础语法。


Go 标记

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

fmt.Println("Hello, World!")

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

1. fmt

2. .

3. Println

4. (

5. "Hello, World!"

6. )


行分隔符

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

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

以下为两个语句:

fmt.Println("Hello, World!")

fmt.Println("菜鸟教程:runoob.com")


注释

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

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

// 单行注释

/*

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")

}

以上实例输出结果为:

GoogleRunoob


关键字

下面列举了 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;

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

fruit = apples + oranges;

在关键字和表达式之间要使用空格。

例如:

if x > 0 {

   // do something

}

在函数调用时,函数名和左边等号之间要使用空格,参数之间也要使用空格。

例如:

result := add(2, 3)


格式化字符串

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

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

Sprintf 实例

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

Printf 实例

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

目录
相关文章
|
4天前
|
Go
Go 语言循环语句
在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。
12 1
|
3天前
|
Go 开发者
探索Go语言的并发之美
在Go语言的世界里,"并发"不仅仅是一个特性,它是一种哲学。本文将带你领略Go语言中goroutine和channel的魔力,揭示如何通过Go的并发机制来构建高效、可靠的系统。我们将通过一个简单的示例,展示如何利用Go的并发特性来解决实际问题,让你的程序像Go一样,轻盈而强大。
|
4天前
|
JSON Go API
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例
|
4天前
|
Go
go语言创建字典
go语言创建字典
|
5天前
|
NoSQL Go API
go语言操作Redis
go语言操作Redis
|
5天前
|
Unix Go
go语言获取当前时间戳
go语言获取当前时间戳
|
5天前
|
Go
go语言李mapstructure啥意思
go语言李mapstructure啥意思
|
3天前
|
Java 编译器 Go
Go to Learn Go之基础语法
Go to Learn Go之基础语法
|
4天前
|
Go
Go 语言接口
Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。 接口可以让我们将不同的类型绑定到一组公共的方法上,从而实现多态和灵活的设计。
|
5天前
|
存储 Go
go语言字符串变小写
go语言字符串变小写