欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺析Golang中變量與常量的聲明與使用

 更新時間:2023年04月04日 10:45:10   作者:water  
變量、常量的聲明與使用是掌握一門編程語言的基礎,這篇文章主要為大家詳細介紹了Golang中變量與常量的聲明與使用,需要的可以參考一下

變量

變量的類型

變量的作用是用來存儲數(shù)據(jù),不同的變量保存的數(shù)據(jù)類型有可能是不一樣的,一般常見的數(shù)據(jù)類型有:整型、浮點型、布爾型等。

go作為一個強類型語言,go中的每一個變量都有自己的類型,并且變量必須經(jīng)過聲明才能開始使用。

聲明變量

go中的變量需要聲明后才能使用,并且在同一個作用域中不支持重復聲明。并且go語言的變量聲明后必須使用。

變量聲明的方式

標準聲明

一般聲明變量的格式為

// var 變量名 變量類型

var name string
var age int
var isShow bool

批量聲明

當在聲明變量的時候每次都需要寫var關鍵字會顯得比較繁瑣,在go中還支持批量的聲明變量

var (
    name string
    age int
    isShow bool
    num float32
)

變量的初始化

go中在聲明變量的時候,會自動對變量對應的內存區(qū)域進行初始化操作,每個變量都會被初始化成其類型的默認值,比如:整型和浮點型變量的默認值為0.字符串變量的默認值為空字符串。布爾值變量的默認值為false。切片、函數(shù)、指針變量的默認為nil

但是在聲明變量的時候為其指定初始值。變量初始化的標準格式為

// var 變量名 類型 = 值
var name string = "water"
var age int = 18
// 也可以一次定義多個變量
var name,age = "water", 20

變量類型推導

很多時候可以將變量的類型省略,編輯器可以根據(jù)等號右邊的值來推導出變量的類型

var name = "water"
var age = 18

短變量聲明

在函數(shù)內部,可以使用:=的聲明方式初始化變量

package main

import (
    "fmt"
)

// 全局變量
var name = "water"

func main() {
    a := 1
    b := 2
    fmt.Println(a,b)
}

匿名變量

在使用多重賦值時,如果想忽略一個值,可以使用匿名變量,匿名變量一般用一個下劃線_表示,如下

func getValue()(int,string){
    return 18,"water"
}

func main() {
    a,_ := getValue()
    _,b := getValue()
    fmt.Println("a=",a)
    fmt.Println("b=",b)
}

匿名變量不占用命名空間,不會分配內存,所以匿名變量之間不存在重復聲明,變量聲明需要注意以下問題:

  • 函數(shù)外的每個語句都必須以關鍵字開始比如:var、const、func
  • :=不能在函數(shù)外使用
  • _多用于占位,表示忽略值

常量

相比較于變量而言,常量是恒定不變的值,定義一些不會改變的值。常量的聲明和變量聲明非常相似,只是把var換成了const,常量在定義的時候必須賦值

const a = 123
const b = 456

常量一旦聲明就不會再發(fā)生變化了。而且多個常量也可以一起聲明

const (
    a = 123
    b = 456
)

如果同時聲明多個常量時,省略了值則表示和上面一行的值相同。

const (
    a = 1
    b
    c
)

這樣a、b、c的值都是100

iota

iota是go語言的常量計數(shù)器,只能在常量的表達式中使用。iota在const關鍵字中第一次出現(xiàn)時為0,然后const中每新增一行常量聲明就將加一計數(shù)一次。

const (
    a = iota // 0
    b // 1
    c // 2
    d // 3
)

常見的使用iota的技巧

使用_跳過一些值

const (
    a = iota //0
    b // 1
    _
    d // 3
)

在iota中間插入其他值

const (
    a = iota // 0
    b = 20
    c // 2
    d // 3
)

const e = iota // 0

多個iota定義一行

const (
    a,b = iota + 1,iota + 2 // 1,2
    c,d // 2,3
    e,f // 3,4
)

到此這篇關于淺析Golang中變量與常量的聲明與使用的文章就介紹到這了,更多相關Golang變量 常量內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Go語言leetcode題解953驗證外星語詞典示例詳解

    Go語言leetcode題解953驗證外星語詞典示例詳解

    這篇文章主要為大家介紹了Go語言leetcode題解953驗證外星語詞典示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Golang程序中使用Prometheus的client_golang庫

    Golang程序中使用Prometheus的client_golang庫

    這篇文章主要介紹了Golang程序中使用Prometheus的client_golang庫,Prometheus 是一個開源的監(jiān)控和警報工具包,用于收集和處理應用程序和系統(tǒng)的指標數(shù)據(jù)。Prometheus 提供了多種客戶端庫,可以輕松地集成到各種編程語言中
    2023-04-04
  • golang中對

    golang中對"引用傳遞"的誤解

    這篇文章主要介紹了golang中對“引用傳遞”的誤解,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-06-06
  • 細說Go語言中空結構體的奇妙用途

    細說Go語言中空結構體的奇妙用途

    Go語言中,我們可以定義空結構體,即沒有任何成員變量的結構體,使用關鍵字?struct{}?來表示。這種結構體似乎沒有任何用處,但實際上它在?Go?語言中的應用非常廣泛,本文就來詳解講講
    2023-05-05
  • Golang中處理import自定義包出錯問題的解決辦法

    Golang中處理import自定義包出錯問題的解決辦法

    最近開始使用Go/GoLand在import自定義包時出現(xiàn)各種狀況,下面這篇文章主要給大家介紹了關于Golang中處理import自定義包出錯問題的解決辦法,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • golang 隨機數(shù)的兩種方式

    golang 隨機數(shù)的兩種方式

    本文主要介紹了golang 隨機數(shù)的兩種方式,一種是偽隨機,另一種是真隨機,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • 解決golang 反射interface{}做零值判斷的一個重大坑

    解決golang 反射interface{}做零值判斷的一個重大坑

    這篇文章主要介紹了解決golang 反射interface{}做零值判斷的一個重大坑,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • GoLang實現(xiàn)日志收集器流程講解

    GoLang實現(xiàn)日志收集器流程講解

    這篇文章主要介紹了GoLang實現(xiàn)日志收集器流程,看日志是開發(fā)者平時排查BUG所必須的掌握的技能,但是日志冗雜,所以寫個小工具來收集這些日志幫助我們排查BUG,感興趣想要詳細了解可以參考下文
    2023-05-05
  • 簡單聊聊Golang中Flag包的具體使用

    簡單聊聊Golang中Flag包的具體使用

    flag 包是 Go 語言標準庫中的一個包,用于解析命令行參數(shù),這篇文章主要來和大家簡單聊聊Golang中Flag包的具體使用,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-05-05
  • 一文吃透Go的內置RPC原理

    一文吃透Go的內置RPC原理

    這篇文章主要為大家詳細介紹了Go語言中內置RPC的原理。說起?RPC?大家想到的一般是框架,Go?作為編程語言竟然還內置了?RPC,著實讓我有些吃鯨,本文就來一起聊聊吧
    2023-03-03

最新評論