• go_1


    1.  变量定义
    1 var num int
    2 var num = 10
    3 num := 10
    4 var n1,n2,n3 int = 1,2,3
    5 全局变量定义
      var(
        n1 = 1
        n2 = 2
      )

       

      2.  数据类型 fmt.printf("%T",n)来查看数据类型

        unsafe.sizeof(n1) 查看数据占用字节大小

    1 整数 
    2     有符号 
        
          int, 32位系统就是int32 64位系统就是int64
          int8, -128~127
          int16, +- 65536
          int32, +- 42亿
          int64 +-
          rune 相当于int32 表示一个unicode码
    3 无符号

        uint, 32位系统就是uint32 64位系统就是uint64
        uint8, 0~255
        uint16, 0~65536
        uint32, 0~42亿
        uint64,
        byte 等价uint8存储字符使用byte 4 浮点 float32,float64 5.123e2 表示5.123*10的2次方 5.123e-2 5.123/10的2次方 5 字符型 6 布尔型 bool 7 字符串 string 可以使用反引号 分行拼接字符串使用+号 要留在上面
    复杂数据类型
    指针pointer
    数组
    struct
    管道 channel
    函数
    切片 slice 像集合
    接口 interface
    map

     3. 基本数据类型转string

    var num = 1
    var num2 = 1.2
    var b bool = true
    var char byte= 'y'
    var str string
    
    str = fmt.Sprintf("%d",num)
    str = fmt.Sprintf("%f",num2)
    str = fmt.Sprintf("%t",b)
    str = fmt.Sprintf("%c",char)
    str = strconv.Itoa(num)
    
    str =strconv.FormatInt(int64(num),10) // 第二个参数代表十进制
    str= strconv.FormatFloat(num2,'f',10,64)  // 第二个参数代表格式-00.00,第三个代表保留10位小数,第四个代表num2是64位第float
    str = strconv.FormatBool(b)
     

    4. string 转基本数据类型  如果没有转成功会设置位默认值

    var str string = "true"
    var b , _  = strconv.ParseBool(a)// 返回两个值
    var d , _ = strconv.ParseInt(c,10,0) // 第二个参数代表10进制 0代表返回int 8 16 32 64 
    var f, _ = strconv.ParseFloat(e,64) // 2arg 代表返回64位float

     5. 指针

    值类型都有对应的指针类型

    值类型有 int系列 float系列 bool string 数组 结构体

    // 获取变量地址用&
    &num
    var ptr *int = &num
    
    var i int = 10
    // 指针
        var ptr *int = &i
    // 获取指针地址对应的值
    println(*ptr)
    // 获取ptr的地址
    println(&ptr)
    // 获取i的地址
    println(&i)

     6. 值类型/变量直接存储值 通常分配在栈中

       int系列 float系列 bool string 数组 结构体

    引用类型/变量存储的地址 通常

      指针 slice切片 map channel interface

    7. 公有

    标识符大写

    私有

    标识符小写

    相同的包相当于同一个文件一样 不能定义重复的变量 函数等

    8. 运算符计算公式a - a / b * b

    -10 % 3 = -10 - (-10) / 3 * 3 = -1

    i++ i-- 只能独立使用不能 a = i++

    9. 进制

    go不能直接使用2进制

    可以直接定义8进制0开头011等于9

    可以使用16进制 0x

  • 相关阅读:
    自编游戏
    宣言
    Leetcode: 12. Integer to Roman
    Leetcode: 11. Container With Most Water
    Leetcode: 10. Regular Expression Matching
    网络编程:listen函数
    网络编程:connect函数
    Leetcode: 9. Palindrome Number
    Leetcode: 8. String to Integer (atoi)
    Leetcode: 7. Reverse Integer
  • 原文地址:https://www.cnblogs.com/isnotnull/p/15852520.html
Copyright © 2020-2023  润新知