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

golang強制類型轉(zhuǎn)換和類型斷言

 更新時間:2022年01月25日 09:26:44   作者:Kevin_cai09  
這篇文章主要介紹了詳情介紹golang類型轉(zhuǎn)換問題,分別由介紹類型斷言和類型轉(zhuǎn)換,這兩者都是不同的概念,下面文章圍繞類型斷言和類型轉(zhuǎn)換的相關(guān)資料展開文章的詳細(xì)內(nèi)容,需要的朋友可以參考以下

1.強制類型轉(zhuǎn)換

golang是強類型語言,但是和c++,Java不太一樣的是,go中沒有隱式類型轉(zhuǎn)換,go中的類型轉(zhuǎn)換只有:強制類型轉(zhuǎn)換和斷言

在java中:

    public static void main(String[] args){
        int a = 1;
        double b = 1.0;
        System.out.println(a * b);
    }

在java中這樣是沒有問題,編譯器隱式的把a向上轉(zhuǎn)為double類型

但是在go中是會報錯的:

需要進行強制類型轉(zhuǎn)換:

func Test()  {
 var a int = 1
 var b float32 = 1.0
 fmt.Println(float32(a) * b)
}

go中的強制類型轉(zhuǎn)換為:

type(v)


普通變量類型int,float,string 都可以使用 type (a)這種形式來進行強制類型轉(zhuǎn)換,

比如:

var a int32  = 10
var b int64 = int64(a)
var c float32 = 12.3
var d float64 =float64(c)

指針的強制類型轉(zhuǎn)換需要用到unsafe包中的函數(shù)實現(xiàn)

func Test()  {
 var a int =10
 var b *int =&a
 var c *int64 = (*int64)(unsafe.Pointer(b))
 fmt.Println(*c)
}

2.類型斷言

go中的類型判斷則是判斷一個變量是否屬于某一種類型

func Test()  {
 var a interface{} = 10
 _,isInt := a.(int) // 進行類型的斷言的變量必須是空接口
 if isInt{
  fmt.Println(a)
 }
}

形式如下:

interface{}.(type)

到此這篇關(guān)于golang強制類型轉(zhuǎn)換和類型斷言的文章就介紹到這了,更多相關(guān)golang類型轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Go語言實現(xiàn)類似c++中的多態(tài)功能實例

    Go語言實現(xiàn)類似c++中的多態(tài)功能實例

    Go本身不具有多態(tài)的特性,不能夠像Java、C++那樣編寫多態(tài)類、多態(tài)方法。但是,使用Go可以編寫具有多態(tài)功能的類綁定的方法。下面來一起看看吧
    2016-09-09
  • Golang filepath包常用函數(shù)詳解

    Golang filepath包常用函數(shù)詳解

    本文介紹與文件路徑相關(guān)包,該工具包位于path/filepath中,該包試圖與目標(biāo)操作系統(tǒng)定義的文件路徑兼容。本文介紹一些常用函數(shù),如獲取文件絕對路徑,獲取文件名或目錄名、遍歷文件、分割文件路徑、文件名模式匹配等函數(shù),并給具體示例進行說明
    2023-02-02
  • Golang使用Decimal庫避免運算中精度損失詳細(xì)步驟

    Golang使用Decimal庫避免運算中精度損失詳細(xì)步驟

    decimal是為了解決Golang中浮點數(shù)計算時精度丟失問題而生的一個庫,使用decimal庫我們可以避免在go中使用浮點數(shù)出現(xiàn)精度丟失的問題,下面這篇文章主要給大家介紹了關(guān)于Golang使用Decimal庫避免運算中精度損失的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • golang中的并發(fā)和并行

    golang中的并發(fā)和并行

    這篇文章主要介紹了golang中的并發(fā)和并行用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • GoLang中的加密方法小結(jié)

    GoLang中的加密方法小結(jié)

    這篇文章主要介紹了GoLang中的加密方法。具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 一文詳解如何使用Go語言生成二維碼

    一文詳解如何使用Go語言生成二維碼

    使用Go語言編程時,生成任意內(nèi)容的二維碼是非常方便的,下面這篇文章主要給大家介紹了關(guān)于如何使用Go語言生成二維碼的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • Go ORM的封裝解決方式詳解

    Go ORM的封裝解決方式詳解

    這篇文章主要為大家介紹了Go ORM的封裝解決方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • go語言的變量定義示例詳解

    go語言的變量定義示例詳解

    這篇文章主要為大家介紹了go語言的變量定義示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • golang之?dāng)?shù)據(jù)校驗的實現(xiàn)代碼示例

    golang之?dāng)?shù)據(jù)校驗的實現(xiàn)代碼示例

    這篇文章主要介紹了golang之?dāng)?shù)據(jù)校檢的實現(xiàn)代碼示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 使用systemd部署和守護golang應(yīng)用程序的操作方法

    使用systemd部署和守護golang應(yīng)用程序的操作方法

    systemd是一個流行的守護進程管理器,可以輕松管理服務(wù)的啟動、停止、重啟等操作,讓我們的應(yīng)用程序始終保持在線,本文介紹了如何使用systemd部署和守護golang應(yīng)用程序,感興趣的朋友一起看看吧
    2023-10-10

最新評論