zoukankan      html  css  js  c++  java
  • GoLand(三)数据类型、变量和常量

    Infi-chu:

    http://www.cnblogs.com/Infi-chu/

    一、数据类型
    数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。Go语言按类别有以下几种数据类型:
    1.布尔型
    两个常量,true和false。
    eg.

    var a bool = true
    

     
    2.数字类型
    整型int,浮点型float32、float64


    3.字符串类型
    Go语言的字符串的字节使用UTF-8编码标识Unicode文本。


    4.派生类型
    指针类型、数组类型、结构化类型、Channel类型、函数类型、切片类型、接口类型、Map类型

    二、数字类型
    (基于架构的类型)
    1.uint8
    无符号8位整型[0,255]
    2.uint16
    无符号16位整型[0,65535]
    3.uint32
    无符号32位整型[0,4294967295]
    4.uint64
    无符号64位整型[0,18446744073709551615]
    5.int8
    有符号8位整型[-128,127]
    6.int16
    有符号16位整型[-32768,32767]
    7.int32
    有符号32位整型[-2147483648,2147483647]
    8.int64
    有符号64位整型[-9223372036854775808,9223372036854775807]

    (浮点类型)
    1.float32
    IEEE-754 32位浮点型数
    2.float64
    IEEE-754 64位浮点型数
    3.complex64
    32 位实数和虚数
    4.complex128
    64 位实数和虚数

    (其他数字类型)
    1.byte
    类似 uint8
    2.rune
    类似 int32
    3.uint
    32 或 64 位
    4.int
    与 uint 一样大小
    5.uintptr
    无符号整型,用于存放一个指针

    三、变量
    1.变量声明
    第一种,先声明,不赋值

    var a string


    2.根据值自动判断变量类型

    var b = 1


    3.省略var,:=左侧的变量先前不能被声明过

    c := 2
    

     
    4.多变量声明

    //类型相同多个变量, 非全局变量
    var a1, a2, a3 int
    a1, a2, a3 = 1, 2, 3
    var b1, b2, b3 = 1, 2, 3 //和python很像,不需要显示声明类型,自动推断
    c1, c2, c3 := 1, 2, 3 //出现在:=左侧的变量先前不能被声明过
    
    // 这种因式分解关键字的写法一般用于声明全局变量
    var (
        d1 int
        d2 string
    )
    

     
    四、常量
    常量是一个简单值的标识符,在程序运行时,不会被修改的量。常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。
    1.格式:

    // 单常量声明
    // const 标识符 [类型] = value    // 类型为可选项
    // 多常量声明
    // const a,b = 1,2
    
    package main
    
    import "fmt"
    
    func main() {
       const LENGTH int = 10
       const WIDTH int = 5   
       var area int
       const a, b, c = 1, false, "str" //多重赋值
    
       area = LENGTH * WIDTH
       fmt.Printf("面积为 : %d", area)
       println()
       println(a, b, c)   
    }
    

     
    2.iota
    iota,特殊常量,可以认为是一个可以被编译器修改的常量。iota 在 const关键字出现时将被重置为 0(const 内部的第一行之前),const 中每新增一行常量声明将使 iota 计数一次(iota 可理解为 const 语句块中的行索引)。

    eg1

    package main
    
    import "fmt"
    
    func main() {
        const (
                a = iota   //0
                b          //1
                c          //2
                d = "ha"   //独立值,iota += 1
                e          //"ha"   iota += 1
                f = 100    //iota +=1
                g          //100  iota +=1
                h = iota   //7,恢复计数
                i          //8
        )
        fmt.Println(a,b,c,d,e,f,g,h,i)
    }
    

     
    eg2

    package main
    
    import "fmt"
    const (
        i=1<<iota
        j=3<<iota
        k
        l
    )
    
    func main() {
        fmt.Println("i=",i)
        fmt.Println("j=",j)
        fmt.Println("k=",k)
        fmt.Println("l=",l)
    }
    
    // i=1:左移 0 位,不变仍为 1;
    // j=3:左移 1 位,变为二进制 110, 即 6;
    // k=3:左移 2 位,变为二进制 1100, 即 12;
    // l=3:左移 3 位,变为二进制 11000,即 24。
    
  • 相关阅读:
    11、序列比对
    10、RNA-seq for DE analysis training(Mapping to assign reads to genes)
    9、IPA通路分析相关网页教程
    3、perl进阶
    8、Transcriptome Assembly
    7、RNAseq Downstream Analysis
    Microsoft dynamic 批量更新
    c# datagridview 相关操作。
    $.ajax 提交数据到后台.
    c# Datatable
  • 原文地址:https://www.cnblogs.com/Infi-chu/p/10149468.html
Copyright © 2011-2022 走看看