「Go学习笔记」2.Go语言由什么组成?

简介: Go语言标识符是用于标识变量、函数或任何用户自定义项目的名称(程序实体),这个标识符就类似java中的数据类型(基本数据类型、引用数据类型)。标识符有两种类别,一种是用户自定义的标识符,它作为程序的实体存在。另一种标识符成为预定义标识符,是Go语言源代码中声明的。

标识符

Go语言标识符是用于标识变量、函数或任何用户自定义项目的名称(程序实体),这个标识符就类似java中的数据类型(基本数据类型、引用数据类型)。标识符有两种类别,一种是用户自定义的标识符,它作为程序的实体存在。另一种标识符成为预定义标识符,是Go语言源代码中声明的。例如:

  1. 数据类型

    bool(true和false)、byte、uint、uint8、uint16、uint32、uint64、int、int8、int16、int32、int64、float32、float64、string、uintptr。

  2. 内建函数名

    append、cap、close、complex、copy、delete、imag、len、make、new、panic、print、println、real、recover。

  3. 其他标识符

    iota、nil、_ 。

    最后一个_叫做空标识符,一般用在变量声明与包的导入中,类似Java中的null。

关键字

Go语言作为一门静态编译型语言,它的关键字一共有25个,相比他语言显得非常少,java关键字就有50个,不过感觉Go语言的关键字少的原因也是因为它把数据类型和关键字分开了,数据类型叫做标识符了,下面是Go语言的25个关键字

  1. 包导入与声明

    import、package。

  2. 程序实体声明与定义

    var、type、func、interface、map、struct、chan、const。

  3. 流程控制

    if、continue、for、return、go、case、goto、switch、select、clse、break、default、defer、fallthrough、range。

字面量

字面量就是表示值得一种标记法,在Go语言中,字面量的含义要更广一些,首先,它用于表示基础数据类型的各种字面量,其次用于标识用户构造的自定义复合数据类型的字面量,最后它还用于标识复合数据类型的值的复合字面量,简单来说它会被用来构造Struct(结构体)、Array(数组)、Slice(切片)和Map(字典)的值。

例如:

const b int = 10 //b为常量,10为字面量

分隔符

分隔符用来分隔Go语言中的元素,例如:

fmt.Println("Hello ,World")

分隔符包括括号、中括号、大括号、小数点、逗号、分号、冒号、省略号。Go语言不需要像java那样每行代码都要以分号(;)结尾。

运算符

运算符是用来执行运算或逻辑操作的符号,Go语言中的运算符如下图所示

  1. 运算符

  2. 运算符优先级:

注释

Go语言中的注释有多种写法和Java差不多。

  // 单行注释
  /*这是一条Go注释*/
  /*
  这是一段Go注释
  */
随着go语言越来越🔥,我对它也是很感兴趣,无奈没有太多的时间来学习,只能用周末来抽空看看,希望大家多多支持,如果你也对Go语言感兴趣,不妨点击下关注,一起学习。
目录
相关文章
|
20天前
|
存储 Go 索引
go语言中数组和切片
go语言中数组和切片
31 7
|
20天前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
20天前
|
程序员 Go
go语言中结构体(Struct)
go语言中结构体(Struct)
93 71
|
19天前
|
存储 Go 索引
go语言中的数组(Array)
go语言中的数组(Array)
100 67
|
20天前
|
存储 Go
go语言中映射
go语言中映射
32 11
|
22天前
|
Go
go语言for遍历映射(map)
go语言for遍历映射(map)
31 12
|
21天前
|
Go 索引
go语言使用索引遍历
go语言使用索引遍历
28 9
|
21天前
|
Go 索引
go语言使用range关键字
go语言使用range关键字
27 7
|
21天前
|
Go 索引
go语言修改元素
go语言修改元素
27 6
|
12天前
|
Go 数据安全/隐私保护 UED
优化Go语言中的网络连接:设置代理超时参数
优化Go语言中的网络连接:设置代理超时参数