Go中的变量

66 阅读2分钟
  1. 变量
    package main
    
    import "fmt"
    
    func main(){
    	var i int
    	i = 10
    	fmt.Println("i =",i)
    }
    
  2. Go变量的使用方式
    1. 指定变量类型后不进行赋值,使用默认值
    2. 根据值自行判定变量类型(类型推导)
      var num = 10.10
      fmt.Println("num = ",num)
      
    3. 省略 var ,注意 := 左侧的变量不应该是已经声明过的,否则会导致编译报错
      name :="tom"//":"不能删除
      fmt.Println("name =",name)
      
    4. Go的变量如果没有赋初值,编译器会使用默认值,比如 int 和小数类型为 0 ,string 的默认值为空串
  3. 一次性声明多个变量
    //方法一
    var n1,n2,n3 int
    //输出结果:
    //n1=0 n2=0 n3=0
    
    //方法二
    var n4,name,n5 = 100,"tom",888
    //输出结果:
    //n4=100 name=tom n5=888
    
    //方法三:类型推导
    n6, name02, n7 := 200, "tim", 999
    //输出结果:
    //n6=200 name02=tim n7=99
    
  4. 如何一次性声明多个全局变量
    package main
    
    import "fmt"
    //定义全局变量
    var n1 = 10
    var n2 = 20
    var name = "toki"
    //一次性定义多个全局变量
    var(
    	n3 = 30
    	n4 = 40
    	name02 = "mary"
    )
    
     1. 基本数据类型
    
    1. 数值型
      1. 整数类型:
        1. int , int8(即8bit,1byte,相当于byte) , int16 , int32 , int64
        2. uint , uint8 , uint16 , uint32 , uint64(即带有符号的整数类型,uint表示无符号的,无符号能够表示的范围更大)
      2. 浮点类型:
        1. float32,float64(即单精度浮点型和双精度浮点型)
    2. 字符型
      1. 没有专门的字符型,使用 byte 来保存单个字母
    3. 布尔类型
    4. 字符串
      1. string,Go语言将字符串类型归结于基本数据类型(Java中string是一个类)
  5. 派生/复杂数据类型
    1. 指针(Pointer)
    2. 数组
    3. 结构体(struct)(类似其它语言中的class)
    4. 管道(Channel)
    5. 函数(也是一种类型)
    6. 切片(slice)
    7. 接口(interface)
    8. map(类似其他语言中的集合)