> 技术文档 > 【Golang】Go语言基础语法_golang语法

【Golang】Go语言基础语法_golang语法


Go语言基础语法

文章目录

  • Go语言基础语法
    • 一、Go标记
    • 二、行分隔符
    • 三、注释
    • 四、标识符
    • 五、字符串连接
    • 六、关键字
    • 七、Go语言的空格
    • 八、格式化字符串

一、Go标记

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

二、行分隔符

  • 在Go程序中,一行代表一个语句结束。每个语句不需要像C家族中的其他语言一样以分号;结尾,因为这些工作都将由Go编辑器自动完成。
  • 如果你打算将多个语句写在同一行,它们则必须使用;人为区分,但在实际中我们并不鼓励这种做法:
fmt.Println(\"Hello,World!\")fmt.Println(\"你好世界\")

三、注释

  • 注释不会被编译,每一个包应该有相关注释
  • 单行注释是最常见的注释形式,你可以在任何地方使用以//开头的单行注释。多行注释也叫块注释,均以/*,并以*/结尾。如:
// 单行注释/*我是多行注释你是什么注释*/

四、标识符

  • 标识符用来命令变量、类型等程序实体。一个表示符实际上就是一个或多个字母(AZ和az)数字(0-9)、下划线_组成的序列,但是第一个字符必须是字母或下划线而不能是数字。

  • 以下是有效的标识符

# 以下都是可以正常被使用的标识符mahesh kumar abcmove_namea_123myname50_tempja23b9retVal# 以下是无效的表示符1ab(以数字开头)case(Go语言的关键字)a+b(运算符是不允许的)

五、字符串连接

  • Go语言的字符串连接可以通过+实现:
package mainimport \"fmt\"func main() { fmt.Println(\"你好\"+\"Go\")}
  • 以上实例输出结果为
$ go run hello.go 你好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 uni64 print pringln real recover string true uint uint8 uintprt
  • 程序一般由关键字、常量、变量、运算符、类型和函数组成
  • 程序中可能会使用到这些分隔符:括号(),中括号[]和大括号{}
  • 程序中可能会使用到这些标点符号:.,;,:...

七、Go语言的空格

  • 在Go语言中,空格通常使用分割标识符、关键字、运算符和表达式,以提高代码的可读性
  • Go语言中变量的声明必须使用空格隔开,如:
var x int // 定义x变量的类型为int 整数const Pi float64 = 3.1415926 // 定义常量 类型为float64浮点型 值为3.1415926
  • 在运算符和操作数之间要使用空格能让程序更易阅读
frunt=5+8 // 不规范写法frunt = 5 + 8 //规范写法,更加美观
  • 在关键字和表达式之间要使用空格
package mainimport \"fmt\"func main() { var wzh =6+1; if wzh > 0 { fmt.Println(wzh) }}
  • 在函数调用时,函数名和左边等号之间要使用空格,参数之间也要使用空格
result := add(2,3)

八、格式化字符串

  • Go语言中使用fmt.Sprintffmt.Printf格式化字符串并赋值给新串:
    • Sprintf根据格式化参数生成格式化的字符串并返回该字符串
    • Printf根据格式化参数生成格式化的字符串并写入标准输出
package mainimport \"fmt\"func main() { // %d 表示整型数字,%s 表示字符串 可以理解为占位符 var stockcode int = 123 var enddate string = \"2024-11-9\" var url string = \"Code=%d&endDate=%s\" var target_url = fmt.Sprintf(url,stockcode,enddate) fmt.Println(target_url)}
  • 输出结果为
Code=123&endDate=2024-11-9
  • 以下是使用Printf的效果
package mainimport \"fmt\"func main() { // %d 表示整型数字,%s 表示字符串 可以理解为占位符var stockcode int = 123var enddate string = \"2024-11-9\"var url string = \"Code=%d&endDate=%s\"fmt.Printf(url, stockcode, enddate)}
  • 输出结果为
Code=123&endDate=2024-11-9