Go语法

作者: 夏慕春 | 来源:发表于2021-09-16 16:16 被阅读0次

1 基本语法

  1. Go程序由多个标记组成:关键字,标识符,常量,字符串,符号

    1. 如:fmt.Println("Hello, world!")
  2. 行分隔符:一行结束代表一个语句结束,不需要;结尾

  3. 注释:单行注释 // 内容 块注释 /* 内容 */

  4. 标识符:用来命名变量、类型等程序实体, 由一个或对这个字母数字下划线组成的序列,第一个字符必须是字母或者下划线,不能是数字或者关键字

  5. 字符串连接 :使用 + 连接

  6. 格式化字符串:fmt.Sprintf 格式化字符串并赋值给新串,%d 代表整型数字,%s表示字符串

2 语言数据类型

1. 布尔型:true、false
2. 数字类型(uint8、uint16、uint32、uint64、int8、int16、int32、int64、float32、float64、complex64、complex128、byte、rune、uint、int、uintptr)
3. 字符串类型:字符串字节使用UTF-8编码标识Unicode文本
4. 派生类型:(指针Pointer、数字、结构化struct、Channel、函数、切片、接口interface、Map)

3 语言变量

  1. 变量声明:

    1. 指定变量声明: var a int
    2. 根据值自行判定变量类型 var a = 1
    3. 省略var, a :=1 (a必须是一个未声明过的新变量)
  2. 多变量声明: var a, b, c = 1, 2, 3 或者 a, b, c := 1, 2, 3

  3. 声明全局变量

    var (

    a int

    b bool

    )

4 常量

  1. 常量的定义格式:
    1. const a string = 'a'
    2. const a = 'a'
    3. const a, b = 1, 2
  2. 特殊常量:iota,可以被编辑器修改的常量
    1. 在const关键字出现时,将被重置为0(const内部的第一行之前),const每新增一行常量声明将使iota家属一次(可以理解为是const语句块的行所以)

5 运算符

  1. 算数运算符: + 、-、*、/、%、++、--
  2. 关系运算符:==、!=、>、<、>=、<=
  3. 逻辑运算符:&&、||、!
  4. 位运算符:&、 |、 ^
  5. 赋值运算符:=、+=、-=、*=、/=、%=、<<=、 >>=、 &=、 ^=、 |=
  6. 其他运算符:&(返回变量存储地址)、*(指针变量)

6 循环语句

  1. 条件语句:if、switch、select

    if a > 1 {
     ... 
    } else {
     ...
    }
    
    switch a {
     case 10:
         ...
       case 20:
         ...
       default:
         ...;
    }
    
  1. 循环类型:for循环
for init;condition;post{}
for condition { }
for { }
  1. 循环控制:break、continue、goto

7 函数

  1. 定义:

    fun function_name (a, b, c) return_types {

    }

    return_types: string 或者 (string, string)

  2. 调用:function_name (a, b ,c int)

  3. 函数返回值:可以是单个、也可以是多个值

    1. return a
    2. return a, b

8 数组

  1. 声明数组:

     1. var a [3] float32   (含义:定义数组a长度为3,类型为float32)
     2. var a = [3]float32{1, 2, 3}
     3. a := [3]float32{1, 2, 3}
     4. a := [...]float32{1, 2, 3}  (不确定数组长度使用...)
     5. a := [5]float32{1:2.0,3:7.0} (1,3元素初始化)
    
  2. 二维数组

  3. a := [2][3] int {
     {0, 1, 2},
     {3, 4, 5},
    }
    
    

9 指针

  1. 声明指针:var a *int
  2. 使用:
var b *int
var a int = 20
b = &a
  1. 空指针:当指针被定义但未分配给任何变量是。它的值未为nil,nil指针被称为空指针
  2. 一个指针变量通常缩写未ptr
  3. 空指针判断: ptr == nil

10 结构体

1. 含义:数组可以存储统一类型的数据,结构体可以为不同项定义不同的数据类型;它是有一系列具有相同类型或者不同类型的数据构成的数据集合

2.  使用
定义结构体:
type struct_variable_type struct {
    member definition
    member definition
}
变量声明语法:
variable_name := structure_variable_type {value1, value2...valuen}
或
variable_name := structure_variable_type { key1: value1, key2: value2..., keyn: valuen}

访问:
structure_variable_type.key1
  1. 结构体作为函数参数

11 切片(Slice)

12 范围(Range)

13 MAp(集合)

14 递归函数

15 类型转换

16 接口

17 错误处理

18 并发

19 开发工具

相关文章

  • beego 模版语法

    beego 模板语法指南 本文讲述 beego 中使用的模板语法,与 go 模板语法基本相同。 基本语法 go 统...

  • (四)go语言函数&参数传递

    go语言函数 基本语法 例子 go语言参数传递

  • Protocol buffer

    语法介绍 protoc --go_out=. --go-grpc_out=. api.proto--go_out ...

  • go语法

    基本类型bool优先级:&& > || * > +布尔型不可强制转为整型,也不可以转为其他类型string...

  • Go语法

    1 基本语法 Go程序由多个标记组成:关键字,标识符,常量,字符串,符号如:fmt.Println("Hello,...

  • Go语法

    Go语言的这些地方都做的还不错:拥有自动垃圾回收、一个包系统、函数作为一等公民、词法作用域、系统调用接口、只读的U...

  • Go's Declaration Syntax(Go的声明语法)

    以下翻译自Rob Pike 编写的Go's Declaration Syntax(Go的声明语法) 介绍 Go的新...

  • go 基础学习

    1 go 基础go 语法基础go 官方资料如果由C ,C++ 基础, 学习go 比较容易,本文学习go ,主要是为...

  • Golang的语法糖

    Golang的语法糖 ... Go语言函数中有三个点 ... 表示为可变参数,这是Go的糖衣语法,表示可以接受任...

  • Go语言基础语法--注释、基础结构2

    章节 GO语言基础语法--注释、基础结构(重要) 1.GO语言基础语法---注释、基础结构 基础结构注意事项 源文...

网友评论

      本文标题:Go语法

      本文链接:https://www.haomeiwen.com/subject/hggvqltx.html