最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

golang int64轉int的方法

 更新時間:2023年01月09日 15:30:44   作者:面向未來的歷史  
這篇文章主要介紹了golang int64轉int,本文給大家提供兩種方法 ,將 golang int64 轉換為golang int,結合實例代碼給大家分享轉換方法,需要的朋友可以參考下

背景:

在cgo中,需要將golang的整數(shù)類型傳到cgo中使用,但是不能直接傳golang的int類型,而應該是 int32, 數(shù)值的內(nèi)存長度才能與 c中int 長度一致。 但是有時 golang中獲取到的整型是int64, 但是不能直接使用 int32 強制轉換。
以下將提供兩種方法 ,將 golang int64 轉換為golang int 。(golang int64轉int32方法類似)。

轉換方法

1 字符串中轉

即將golang int64 先轉換wei golang string, 然后將 string 轉換為 int

// main.go

package main
import (
 "strconv"
 "fmt"
 "reflect"
)

func main () {
     var id64 int64 = 99
     // method 1:
     strInt64 := strconv.FormatInt(id64, 10)
     id16 ,_ := strconv.Atoi(strInt64)
     fmt.Println(id16) 
    fmt.Println(reflect.TypeOf(id16))

2 指針類型轉換

即獲取golang int64 地址,將其轉為int類型,之后讀取該內(nèi)存單元的地址時,會將變量的值解釋為 int類型。

// main.go
package main
import (
 "unsafe"
 "fmt"
 "reflect"
)

func main () {
     var id64 int64 = 99
    // method 2:
    idPointer := (*int)(unsafe.Pointer(&id64))
    idd16 := *idPointer
    fmt.Println(idd16)
    fmt.Println(reflect.TypeOf(idd16))
}

說明

第2 種方法較第一種方法不安全

同時要注意int64范圍, id64數(shù)值不能超過最大值或者低于最小值,值范圍可參考,https://studygolang.com/articles/6566

到此這篇關于golang int64轉int的文章就介紹到這了,更多相關golang int64轉int內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Goland IDEA項目多開設置方式

    Goland IDEA項目多開設置方式

    這篇文章主要介紹了Goland IDEA項目多開設置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Go實現(xiàn)簡單的數(shù)據(jù)庫表轉結構體詳解

    Go實現(xiàn)簡單的數(shù)據(jù)庫表轉結構體詳解

    這篇文章主要為大家介紹了Go實現(xiàn)簡單的數(shù)據(jù)庫表轉結構體詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Go?Singleflight導致死鎖問題解決分析

    Go?Singleflight導致死鎖問題解決分析

    這篇文章主要為大家介紹了Go?Singleflight導致死鎖問題解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • Golang的Fork/Join實現(xiàn)代碼

    Golang的Fork/Join實現(xiàn)代碼

    Fork/Join本質(zhì)上是一種任務分解,將一個很大的任務分解成若干個小任務,然后再對小任務進一步分解,直到最小顆粒度,然后并發(fā)執(zhí)行,對Golang的Fork/Join實現(xiàn)代碼感興趣的朋友跟隨小編一起看看吧
    2023-01-01
  • Go?gRPC進階教程gRPC轉換HTTP

    Go?gRPC進階教程gRPC轉換HTTP

    這篇文章主要為大家介紹了Go?gRPC進階教程gRPC轉換HTTP教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • 一文詳解go的defer和return的執(zhí)行順序

    一文詳解go的defer和return的執(zhí)行順序

    go的defer和return是golang中的兩個關鍵字,return用于返回函數(shù)的返回值,也可以參與一定的流程控制,defer是golang中的延遲調(diào)用,經(jīng)常用于文件流的關閉,鎖的解鎖操作,本文給大家介紹了go的defer和return的執(zhí)行順序,需要的朋友可以參考下
    2024-07-07
  • go進行http請求偶發(fā)EOF問題分析

    go進行http請求偶發(fā)EOF問題分析

    go使用連接池進行http請求,一般都能請求成功,但偶然會出現(xiàn)請求失敗返回EOF錯誤的情況,本文主要來帶大家分析一下為什么會出現(xiàn)這樣的問題并提供解決方法,需要的可以參考下
    2025-01-01
  • go語言計算兩個時間的時間差方法

    go語言計算兩個時間的時間差方法

    這篇文章主要介紹了go語言計算兩個時間的時間差方法,涉及Python操作時間的技巧,需要的朋友可以參考下
    2015-03-03
  • Golang字符串類型原理及其使用方法

    Golang字符串類型原理及其使用方法

    本文主要介紹了Golang字符串類型原理及其使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-09-09
  • Golang?Compare?And?Swap算法詳細介紹

    Golang?Compare?And?Swap算法詳細介紹

    CAS算法是一種有名的無鎖算法。無鎖編程,即不使用鎖的情況下實現(xiàn)多線程之間的變量同步,也就是在沒有線程被阻塞的情況下實現(xiàn)變量的同步,所以也叫非阻塞同步Non-blocking?Synchronization
    2022-10-10

最新評論

桐梓县| 开封县| 汕头市| 金坛市| 平利县| 财经| 乌拉特前旗| 赤水市| 庆元县| 永靖县| 甘肃省| 昌都县| 夏河县| 成武县| 林口县| 房产| 花莲县| 黄骅市| 尼木县| 马山县| 泸州市| 平泉县| 昌邑市| 临漳县| 汝州市| 南部县| 苗栗县| 深圳市| 锡林浩特市| 高尔夫| 普兰店市| 剑河县| 湖州市| 湘潭市| 玉溪市| 深泽县| 孟津县| 武隆县| 沅陵县| 钟祥市| 湖北省|