美文网首页
Go语言基础语法总结

Go语言基础语法总结

作者: 假程序员的世界 | 来源:发表于2019-03-06 20:54 被阅读0次

    Go语言基础语法总结

    一 变量

    1. 变量定义

      • 1.1 使用var关键字

        • var a bool

        • var a bool = true

      • 1.2 不指定类型直接初始化让编译器选择 var a = "abc"

      • 1.3 使用 “ := "定义变量,可省略var关键字,如 a:="abc"

      1. notes:
      • 变量赋值只能在函数内使用,故第三种方式只能在函数内使用

      • 可使用var()同时定义多个变量

      • Go的类型在变量名之后

    二 内置基本类型

    1. 基本类型:

      • bool

      • 数字类型:int, uint, uintptr, float32, float64, complex64, complex128, rune(相当于char)

    2. 类型转换:Go不会自动转换类型,当类型不同时需要手动进行强制类型转换

    三 常量

    1. 定义:const ,常量名无需大写,Go中大写表示public ,例:const a = "acb"

    2. const + 数值,例如const a = 0 ,a可以与int、float类型的数据直接运算而无需强制类型转换

    3. 枚举类型:(目前使用的不多,之后再补充)

      • 普通枚举类型

      • 自增值枚举类型

    四 条件语句

    1. switch

      • 不需要break

      • 使用fallthrough关键字会无条件执行下一条语句

      • switch后可以没有语句或跟多个语句

    2. if

      • 条件语句不需要括号

      • 可以在条件语句中定义变量并赋值,不同语句间用;隔开

      • 在条件语句中定义的变量作用域只在if语句中

    五 循环语句

    1. for

      • 不加条件 -> 死循环

      • 不加初始条件 -> 相当于while循环 (故Go中没有while循环)

    2. for经常配合range使用

    六 函数

    1. 定义: func func_name(parm ) return_type{}

    2. Go中函数可返回多个值,并可以对多个值进行命名。实际应用中一般返回一个值和一个提示信息(fmt.Error())

    3. 默认为值传递

    4. 可变参数列表:在类型前使用” ...“ 表示可变参数列表,如(...int)

    5. 高级应用:

      • 函数作为值:函数定义后作为值使用

      • 闭包:匿名函数,在动态编程中使用

    七 指针

    1. Go中的指针较C的指针更为简单,指针不能进行运算

    八 内置容器

    1. 数组

      • 数组是值类型,传参会拷贝数组

      • 若需要改变数组的值,则参数需为数组的指针

    2. 切片(slice

      • slice是数组的抽象,指向原数组的地址,改变slice中的值会改变数组的值,函数传参使用slice可以避免使用数组指针

      • len与capacity: len是数组的长度;capacity是数组的容量

      • 索引不可以超过len;

      • 每次cap改变的时候指向array内存的指针都在变化。当在使用 append 的时候,如果 cap==len 了这个时候就会新开辟一块更大内存,然后把之前的数据复制过去。

    3. Map

      • 接收时可以接收第二个参数判断key是否存在

      • 除了slice, map, func外所有自建类型都可以作为key

      • struct不包含上诉类型也可以作为key

    4. 字符串(待补充)

    • 仅记录了自己不太熟悉的特性,欢迎补充 *
      更多Go的相关文章发布在我的个人博客上,欢迎访问
      www.guiguiyo.cn

    相关文章

      网友评论

          本文标题:Go语言基础语法总结

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