Go語言的變量

字號+ 編輯: IT男在阿里 修訂: 科学鼠辈 來源: 利志分享 2023-09-12 我要說兩句(0)

本文用代碼案例講述Go語言的變量以及Go變量的特性。

下面是代码例子:

//go 变量
//申明包名main
package main

//导入包名
import(
    "fmt"
)

var a int //声明一个int类型的变量
var b struct{ //声明一个结构体
    name string
}

var c = 8 //声明变量同时赋值
var ( //批量声明变量,简洁
    d int
    e string
)

var name1 int = 5 //1声明变量name1,并且初始化

//一行申明多个变量
var f,g int

//同一行初始化多个变量,不同类型也可以,这里默认初始化值,根据值进行定义了类型。
var h,i,j = 5,"abd",0.4

func main(){
    name2 := "test" //2声明变量并初始化值,这种赋值不能在函数外面进行赋值
    //打印变量
    fmt.Println(a,b,c,d,e,f,g,h,i,j)
    fmt.Println(name1,name2)
}

总结:

1、变量声明(variable declaration)中的初始化表达式(initialization expressions)的求值顺序(evaluation order)由初始化依赖(initialization dependencies)决定;但对于初始化表达式内部的操作数的求值需要按照2中的顺序:从左到右。

2、在非变量初始化语句中,对表达式、赋值语句或返回语句中的操作数进行求值时,操作数中包含的函数(function)调用、方法(method)调用和通信操作(主要针对channel)将按语法从左到右的顺序求值。

3、赋值语句求值分为两个阶段,第一阶段是等号左边的index expressions、pointer indirections和等号右边的表达式中的操作数的求值顺序按照2中从左到右的顺序;第二阶段按从左到右的顺序对变量赋值。


注意:

I. Go里面不损失精度的情况下会把8.0这类浮点数视作整数8

II. Go里面的常数是高精度数,分为几类。

  1. 有类型的:uint(8),类型显式指定了,在表达式里面不会变化。

  2. 无类型的:分成无类型整数和无类型浮点两类。这两类在使用的时候会根据上下文需要的类型转化为实际类型


閲完此文,您的感想如何?
  • 有用

    0

  • 沒用

    0

  • 開心

    0

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • GO語言GORM如何更新字段

  • gorm如何創建記錄與模型定義需要注意什麽

  • gorm一般查詢與高級查詢

  • GORM時間戳跟蹤及CURD(增刪改查)

我要說說
網上賓友點評