G

[Golang基础语法] 声明与赋值

RoLingG Golang 2024-03-15

声明与赋值

  1. 在Go语言中,在函数内(包括主函数内)var一个变量不能不用,不用会报错。
  2. 在Go语言中,有两种赋值方式:①长声明(使用var),②短声明(使用:=),且声明的时候可以根据赋予的值决定变量(或常量)的类型。

    func test() {
       //声明时赋值
       var arr1 = [5]int{0, 10, 20, 30, 40}
       fmt.Println(arr1)
    
       //短声明数组初始化
       arr2 := [5]int{10, 11, 12, 13, 14}
       fmt.Println(arr2)
    
       //声明时也可以省略类型
       var name = "声明并省略类型"
       fmt.Println(name)
    
       //声明时部分初始化,其余未初始化为0
       arr3 := [5]int{15, 20}
       fmt.Println(arr3)
    
       //通过指定索引对某几个元素赋值
       arr4 := [5]int{1: 100, 2: 200}
       fmt.Println(arr4)
    
       //直接使用...让编译器计算数组长度,某种意义上算动态数组?
       arr5 := [...]int{15, 20, 25, 30, 40}
       fmt.Println(arr5)
       fmt.Println("数组的长度是:", len(arr5))
    
       //定义多个变量
        //方式一:
       var a1, a2 = "1", "2"
       fmt.Println(a1, a2)
        //方式二:
       var (
          a3 = "你好"
          a4 = "你好"
       )
       fmt.Println(a3, a4)
    
       //常量
       const a5 = "const常量"
       fmt.Println(a5)
    
       //如果要实现跨包访问变量,首字母要大写
       var A6 = "可跨包访问变量"
       fmt.Println(A6)
    }
  3. 变量(或常量)声明指定了类型但未赋予其值时,该变量(或常量)会自动被赋予默认值。例如int型,如果不赋予变量值则默认为0。

    func test() {
       //声明时没有指定数组内元素的值,默认为0
       var arr [5]int
       fmt.Println(arr)
    
       arr[0] = 0
       arr[1] = 1
       arr[2] = 2
       arr[3] = 3
       arr[4] = 4
       fmt.Println(arr)
    }
  4. 外部声明时必须使用var,不能用简短声明(:=)。

    // 在外部声明必须使用var,不能用简短声明(:=)。全局变量没人用它,只会报警告,不会报错
    var notice = "注意,不能用简单声明"
    
    func main() {
        ...
    }如果要实现变量跨包访问,将变量开头字母大写即可。
  5. 如果要实现变量跨包访问,将变量开头字母大写即可。

    func test() {
       //如果要实现跨包访问变量,首字母要大写
       var A6 = "可跨包访问变量"
       fmt.Println(A6)
    }
  6. Go语言中的常量可以是字符、字符串、布尔值或数值。但是常量不能用 := (短声明)语法声明。
  7. 类似数组变量可以直接用Go语言内自带的len()函数去获取数组的长度。

    func test3() {
       //创建了一个二维数组
       arr8 := [3][2]string{
          {"1", "String0"},
          {"2", "String1"},
          {"3", "String2"},
       }
       fmt.Println(arr8)
       fmt.Println("数组的长度是:", len(arr8)) //len()函数计算数组长度(元素个数)
        
       //for range遍历数组
       for index, value := range arr8 {
          fmt.Printf("arr8[%d] = %s\n", index, value)
       }
       //隔开两个for循环的输出
       fmt.Println("")
        
       //_的使用(后面日常写代码基本很常用)
       for _, value := range arr8 { //不声明变量时又要用,可以使用_ ←什么情况都是
          fmt.Printf("vlaue = %s\n", value)
       }
    }

其他:

  1. 一般int表示整形的宽度根据电脑的位数而定,32即32,64即64。
  2. 一般有符号、无符号都是直接intuint,除非特殊才int8int16int32 ...。
  3. float只有32,64。 32只提供大约6个十进制数(也就是表示小数点后6位)的精度,64同理,大约提供15个十进制数。
  4. 各个类型的零值:①数值(int,float)类型零值为 0、②布尔类型(bool)零值为 false、③字符串(string)零值为 ""(空字符串)
PREV
[Golang基础语法] 基本数据类型
NEXT
[Golang基础语法] 输入与输出

评论(0)

发布评论