• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2020-04-18 14:19 Aet 隐藏边栏 |   抢沙发  7 
文章评分 3 次,平均分 3.7

基础的数据类型

  • 数据类型
    • 用于声明函数和变量
  • 布尔型

  • 数字类型
    • 整形 int
    • 浮点型 float
    • 复数 complex
  • 字符串类型
    • 由单个字节连接起来的
    • go语言的字符串的字节使用UTF-8编码标识Unicode文本
  • 派生类型
    • 指针类型
    • 数组类型
    • 结构化类型
    • Channel类型
    • 函数类型
    • 切片类型
    • 接口类型
    • Map类型

类型转换

  • 格式

type_name:类型
expression:表达式

  • 示例

接口

  • 接口是一种数据类型
  • 它把所有的具有共性的方法定义在一起
  • 任何其他类型只要实现了这个方法就是实现了这个接口
  • 定义

  • 示例

切片

切片是对数组的抽象

go 数组的长度不可改变
于是,go提供了一种比较灵活,功能强悍的内置类型“切片”
相当于“动态数组”

与数组相比较:
切片的长度不固定,可追加元素
追加元素可能是切片的容量增大

定义

  • var identifier []type
  • 使用make()函数创建切片

初始化

  • 直接初始化
    • s := [] int {1,2,3}
  • 用数组初始化
    • 初始化切片s,是数组arr的引用
      • s := arr[:]
    • 将arr中从下标startIndex到endIndex-1下的元素创建为一个新的切片
      • s := arr[startIndex:endIndex]
    • 将arr中从下标startIndex到arr的最后一个元素创建为一个新的切片
      • s := arr[startIndex:]
    • 将arr的第一个元素开始到arr中下标为endIndex的元素创建为一个新的切片
      • s := arr[:endIndex]
    • 用切片初始化切片
      • s1 := s[startIndex:endIndex]

函数

  • len()
    获取切片长度
  • cap()
    测试切片最长可达到多少
  • 示例

空切片

  • 未经初始化的切片默认为nil,长度为0

切片截取

  • 可以通过设置上限及下限来截取切片

append() && copy()

  • 如果想增加切片的容量,我们必须创建一个新的更大的切片并把原分片的内容都拷贝过来

数字类型的取值范围

  • uint8
    • 0 255
  • uint16
    • 0 65535
  • uint32
    • 0 4294967295
  • uint64
    • 0 18446744073709551615
  • int8
    • -128 127
  • int16
    • -32768 32767
  • int32
    • -2147483648 到 2147483647
  • int64
    • -9223372036854775808 到 9223372036854775807

  • float32
    • IEEE-754 32位浮点型数
  • float64
    • IEEE-754 64位浮点型数
  • complex64
    • 32 位实数和虚数
  • complex128
    • 64 位实数和虚数

  • byte
    • 类似uint8
  • rune
    • 类似int32
  • uint
    • 32或64位
  • uintptr
    • 无符号整型,用于存放一个指针

数组

  • 相同唯一类型的一组已编号且长度固定的数据项序列
  • 声明数组
    • var variable_name [size] variable_type
    • var balacnes [10] float32
  • 初始化数组
    • var balance = [5]float32{1.9,2.0,3.4,7.9,1.6}
      • {}里面的元素个数不能大于[]里面的数字
      • 如果忽略[]的数字,go将会根据{}里面的元素个数来设置数组大小
    • 访问数组元素
      • float32 salary = balance[9]
    • 示例代码

条件语句

  • if
  • if...else...
  • if...else if...
  • switch
  • select
    • 类似于switch语句
    • 会随机执行一个可运行得case
    • 如果没有case,将阻塞,直到有case可运行

循环语句

  • for循环
  • 嵌套循环

  • 循环控制语句
    • break
    • continue
    • goto
  • 无限循环

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2021-11-20
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享