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

Golang有類型常量和無類型常量的區(qū)別

 更新時間:2023年04月04日 10:44:10   作者:知其黑、受其白  
本文主要介紹了Golang有類型常量和無類型常量的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

場景

在 Go 語言中,常量分為有類型常量和無類型常量。

// 有類型常量
const VERSION string = "v1.0.0"

// 無類型常量
const RELEASE = 3

那么他們有什么區(qū)別呢?

當你把有無類型的常量,賦值給一個變量的時候,無類型的常量會被隱式的轉化成對應的類型。

package main
import "fmt"

func main() {
? ? const RELEASE = 3

? ? var x int16 = RELEASE
? ? var y int32 = RELEASE
? ? fmt.Printf("type: %T \n", x) //type: int16
? ? fmt.Printf("type: %T \n", y) //type: int32?
}

可要是有類型常量,不就會進行轉換,在賦值的時候,類型檢查就不會通過,從而直接報錯。

package main
import "fmt"
func main() {
? ? const RELEASE int8 = 3

? ? var x int16 = RELEASE //cannot use RELEASE (type int8) as type int16 in assignment
? ? var y int32 = RELEASE //cannot use RELEASE (type int8) as type int32 in assignment
? ? fmt.Printf("type: %T \n", x)?
? ? fmt.Printf("type: %T \n", y)?
}

解決的方法是進行顯式的轉換。

package main
import "fmt"
func main() {
? ? const RELEASE int8 = 3

? ? var x int16 = int16(RELEASE)?
? ? var y int32 = int32(RELEASE)?
? ? fmt.Printf("type: %T \n", x) ?// type: int16
? ? fmt.Printf("type: %T \n", y) ?// type: int32
}

到此這篇關于Golang有類型常量和無類型常量的區(qū)別的文章就介紹到這了,更多相關Golang有類型常量和無類型常量內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Go語言的文件操作代碼匯總

    Go語言的文件操作代碼匯總

    本文給大家匯總介紹了go語言中的文件操作的代碼,包括文件的讀寫,文件的新建打開和刪除等,希望對大家學習go語言能夠有所幫助
    2018-10-10
  • Go中并發(fā)控制的實現(xiàn)方式總結

    Go中并發(fā)控制的實現(xiàn)方式總結

    在Go實際開發(fā)中,并發(fā)安全是老生常談的事情,在并發(fā)下,goroutine之間的存在數(shù)據(jù)資源等方面的競爭,為了保證數(shù)據(jù)一致性、防止死鎖等問題的出現(xiàn),在并發(fā)中需要使用一些方式來實現(xiàn)并發(fā)控制,本文給大家總結了幾種實現(xiàn)方式,需要的朋友可以參考下
    2023-12-12
  • 文字解說Golang Goroutine和線程的區(qū)別

    文字解說Golang Goroutine和線程的區(qū)別

    goroutine 是 Go語言中的輕量級線程實現(xiàn),由 Go 運行時(runtime)管理,使用每一個 go 關鍵字將會額外開啟一個新的協(xié)程 goroutine,今天通過本文給大家介紹下Golang Goroutine和線程的區(qū)別,感興趣的朋友一起看看吧
    2022-03-03
  • go語言題解LeetCode989數(shù)組形式的整數(shù)加法

    go語言題解LeetCode989數(shù)組形式的整數(shù)加法

    這篇文章主要為大家介紹了go語言題解LeetCode989數(shù)組形式的整數(shù)加法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • 關于golang監(jiān)聽rabbitmq消息隊列任務斷線自動重連接的問題

    關于golang監(jiān)聽rabbitmq消息隊列任務斷線自動重連接的問題

    這篇文章主要介紹了golang監(jiān)聽rabbitmq消息隊列任務斷線自動重連接,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • 從并發(fā)到并行解析Go語言中的sync.WaitGroup

    從并發(fā)到并行解析Go語言中的sync.WaitGroup

    Go?語言提供了許多工具和機制來實現(xiàn)并發(fā)編程,其中之一就是?sync.WaitGroup。本文就來深入討論?sync.WaitGroup,探索其工作原理和在實際應用中的使用方法吧
    2023-05-05
  • Go語言的GOPATH與工作目錄詳解

    Go語言的GOPATH與工作目錄詳解

    這篇文章主要介紹了Go語言的GOPATH與工作目錄詳解,本文詳細講解了GOPATH設置、應用目錄結構、編譯應用等內容,需要的朋友可以參考下
    2014-10-10
  • 詳解Go語言如何判斷兩個對象是否相等

    詳解Go語言如何判斷兩個對象是否相等

    在編程中,判斷兩個對象是否相等是一項常見的任務,同時判斷對象是否相等在很多情況下都非常重要,所以在接下來的內容中,我們將詳細介紹在?Go?語言中如何判斷對象是否相等的方法和技巧,需要的可以參考一下
    2023-06-06
  • golang時間字符串和時間戳轉換的案例

    golang時間字符串和時間戳轉換的案例

    這篇文章主要介紹了golang時間字符串和時間戳轉換的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • golang結構化日志log/slog包之slog.Record的用法簡介

    golang結構化日志log/slog包之slog.Record的用法簡介

    這篇文章主要為大家詳細介紹了golang結構化日志log/slog包中slog.Record結構體的使用方法和需要注意的點,文中的示例代碼講解詳細,需要的可以學習一下
    2023-10-10

最新評論