兄弟連區塊鏈培訓分享Go語言擷取packed struct的大小

來源:互聯網
上載者:User

  “區塊鏈是一門集合密碼學、共識演算法、智能合約、超級賬本等多門技術的複雜性綜合學科。”尹正表示,區塊鏈培訓機構的師資品質及其對區塊鏈行業的認知水平參差不齊,普通消費者也無從考究。


  Go語言主要用作伺服器端開發,其定位是用來開發“大型軟體”的,適合於很多程式員一起開發大型軟體,並且開發週期長,支援雲端運算的網路服務。Go語言能夠讓程式員快速開發,並且在軟體不斷的增長過程中,它能讓程式員更容易地進行維護和修改。它融合了傳統編譯型語言的高效性和指令碼語言的易用性和富於表達性。


網路通訊協定裡面,很可能遇到自訂的封包,對應到c裡面的是


typedef struct _PackageHeader

{

    int headerLen;

    int timeStamp;

    short cmd  

};

為了保證單位元組對齊,可以加上編譯選項


#pragma pack(1)



可惜的是,golang裡面,沒有這樣的編譯選項,猥瑣的可參考的山寨代碼如下


package main


import (

    "encoding/binary"

    "fmt"

)


type TestStruct struct {

    a uint32

    b int8

}


func main() {

    var testObject TestStruct

    size := binary.Size(testObject)


    fmt.Println(size)

}

高能預警,兄弟連教育區塊鏈直播課程8月持續火爆來襲!

原價1188元的12節區塊鏈進階課程,現僅需1元!

還可免費領取《Go語言基礎實戰項目開發》與《Go語言進階實戰項目開發》教材兩本!!

限時限量!!先到先得!!

http://www.ydma.cn/open/course/24


關注兄弟連區塊鏈公眾號可以獲得更多區塊鏈技術乾貨!!!

l

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.