go 学习笔记基础篇(一)

golang

变量声明

  1. var 声明单个变量

    var 变量名称 类型
    
    变量名称命名:
        a. 字母、数字、下划线组成,首字母不能为数字
        b. 变量名称区分大小写
        c. 关键字 保留字不可作为变量名称
        d. 建议使用驼峰式命名,大写表示公有(StudentAge),小写表示私有(studentAge)
        e. 特有名词根据是否私有全大写或小写
    
    变量声明后没有初始化的话, 值为类型默认值
    变量声明后使用,同一个作用域不可重复声明
    
  2. 变量初始化方式

    1. 先声明后赋值

      func main() {
          var a string
          a = "test"
          // 输出变量类型
          fmt.Printf("a=%v a的类型是%T", a, a)
      }
      
    2. 声明同时赋值

      func main() {
          var a string = "test"
          fmt.Printf("a=%v a的类型是%T", a, a)
      }
      
    3. 类型推导

      func main() {
          var a = "test"
          fmt.Printf("a=%v a的类型是%T", a, a)
      }
      
  3. 一次声明多个变量

    func main(){
        // 一次声明多个变量
        // var a, b, c = 10, 23, 46
        var (
            a int
            b string
            c string
        )
        a = 30
        b = "test"
        c = "hello"
        fmt.Printf("a=%v b=%v c=%v", a, b, c)
    }
    
  4. 短变量声明法(只能声明局部变量)

    变量名称 := 初始值
    
    短变量声明一次声明多个变量 a,b,c := 10,4,"test"
    
  5. 匿名变量

    • 不占用命名空间,不存在重复声明问题
    • 当函数返回两个值,但只需要使用其中一个值时,另一个返回值可用匿名变量接收
    • "_"

常量 [const] 大写

  1. 定义时必须赋值
    const a = 10
    
  2. 常量的值不可改变
  3. const 同时声明多个常量,如果只对第一个值赋值,则表示剩下为赋值常量值与第一个值保持一致
    const (
    	a = 10
    	b
    	c
    )
    fmt.Println(a, b, c)
    
  4. const 和 iota 联合使用
    func main(){
        const (
            a = iota // 0
            b        // 1
            c        // 2
        )
        fmt.Println(a, b, c)
    
        const (
            n1 = iota // 0
            n2 = 100  // 100 插队
            n3 = iota // 3 可跳过
            n4        // 4
        )
        fmt.Println(n1, n2, n3, n4)
    }
    

数据类型

基本数据类型

  1. int 整型 默认int为int64 占8个字节

    有符号整型

    • int8 内存空间中占1字节 -128~127
    • int16 2字节
    • int32 4字节
    • int64 8字节

    无符号整型

    • uint8 0-255
    • uint16
    • uint32
    • uint64

    字节:

     1024Bety(字节) = 1KB
    

    可以通过unsafe.Sizeof(num) 查看所占字节数

  2. 浮点型

    • float32 占4个字节
    • float64 占8个字节

    浮点型格式化输出 占位符'%f'默认保留6位小数,4舍5入, 自定义保留小数位 例如:"%.2f"

  3. 布尔类型 bool

    Go 中布尔类型 只有 true和false两个值
    注意:
        a. 布尔类型变量的默认值为false
        b. Go 语言中不允许将整型强制转换为bool类型
        c. bool类型无法参与数值运算,也不可以和其他类型进行转换
    
  4. 字符串类型 string

    • Go中字符串需要使用双引号
    • 字符串转义符 \
    • 多行字符串用反引号 ``
    • 一个字母占一个字节,一个汉字占三个字节
    • 拼接字符串可以使用 ‘+’号或者 使用 Sprintf 例如:str3 := fmt.Sprintf("%v %v", str1, str2)
    • 使用 strings 做字符串的常用操作
  5. byte 和 rune类型 (字符)

    • 字符属于int 型
    • 字符使用单引号
    • golang 汉字使用utf8编码, 编码后的值是int类型
    • unit8类型 也叫byte类型,代表ascii 码的一个字符
    • rune 类型 代表一个utf8字符,rune类型兼容byte类型数据
posted @ 2020-09-22 11:33  今日店休  阅读(90)  评论(0编辑  收藏  举报