久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      golang和c的區(qū)別是什么?

      golang和c的區(qū)別是什么?

      golang和c語(yǔ)言的區(qū)別

      1、表面差異——行尾分號(hào)

      從C、C++、C#、Java過(guò)來(lái)的程序員,會(huì)很奇怪所看到的Go代碼沒(méi)有行尾分號(hào)(“;”)作為一行的結(jié)束符。在說(shuō)明這個(gè)問(wèn)題之前我們聲明一個(gè)重要事實(shí):正式的Go語(yǔ)法是使用英文分號(hào)(“;”)做為結(jié)尾標(biāo)識(shí)符的。

      我們之所以不用在行尾加分號(hào),是Go在設(shè)計(jì)中基于以下兩點(diǎn)考慮:

      • 可用幾個(gè)簡(jiǎn)單規(guī)則確定語(yǔ)句行尾,因此行尾分號(hào)是可省略的;

      • 省略行尾分號(hào)可以更好的規(guī)范代碼。

      Golang在編譯時(shí),當(dāng)代碼行(非注釋行)的最后一個(gè)詞段為下列五種情況之一時(shí),則自動(dòng)在行尾插入分號(hào):

      1. 行尾為三種右括號(hào)之一:)、]、};

      2. 行尾為自增或者自減運(yùn)算符(++、–);

      3. 行尾為類型的具體值:布爾值、整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù)、Unicode碼點(diǎn)或者字符串字面量;

      4. 行尾為一個(gè)標(biāo)識(shí)符:包括類型名、變量名、常量名、跳轉(zhuǎn)標(biāo)簽、包名和包的引入名(不包括關(guān)鍵字);

      5. 行尾為4個(gè)跳轉(zhuǎn)關(guān)鍵字:包括break、continue、fallthrough和return(不包括其他關(guān)鍵字)。

      2、常量變量對(duì)比

      C語(yǔ)言定義常量和變量格式

      數(shù)據(jù)類型 變量名稱 = 值; const 數(shù)據(jù)類型 常量名稱 = 值;

      Go語(yǔ)言定義常量和變量格式

      除了以下標(biāo)準(zhǔn)格式外,Go語(yǔ)言還提供了好幾種簡(jiǎn)單的語(yǔ)法糖

      var 變量名稱 數(shù)據(jù)類型 = 值; const 變量名稱 數(shù)據(jù)類型 = 值;

      3、代碼管理對(duì)比

      C語(yǔ)言中通過(guò)文件來(lái)管理代碼

        ● 想使用某一個(gè)函數(shù)時(shí),只需要include導(dǎo)入對(duì)應(yīng)的.h文件即可

      Go語(yǔ)言中通過(guò)包來(lái)管理代碼

        ● Go語(yǔ)言沒(méi)有.h文件的概念, 在Go中想使用某一個(gè)函數(shù)時(shí), 只需要import導(dǎo)入對(duì)應(yīng)的包即可

      C語(yǔ)言中函數(shù)、變量公私有管理

        ● 通過(guò)extern和static實(shí)現(xiàn)是否公開(kāi)函數(shù)和變量

      Go語(yǔ)言中函數(shù)、變量公私有管理

        ● 通過(guò)函數(shù)名稱首字母大小寫(xiě)實(shí)現(xiàn)是否公開(kāi)函數(shù)

        ● 通過(guò)變量名稱首字母大小寫(xiě)實(shí)現(xiàn)是否公開(kāi)變量

      4、核心差異

      總結(jié)了以下八點(diǎn):

      1. 并發(fā)編程

      2. 面向接口編程

      3. 函數(shù)多返回值

      4. 延后執(zhí)行

      5. 異常處理

      6. 強(qiáng)大且高性能的網(wǎng)絡(luò)編程

      7. 內(nèi)存管理及回收

      8. 代碼跨平臺(tái)及交叉編譯

      真是因?yàn)樯鲜霭它c(diǎn)核心差異,讓Go被譽(yù)為互聯(lián)網(wǎng)時(shí)代的C語(yǔ)言。

      5、具體差異

      至于C與Go的具體差異,在hyperpolyglot上有詳細(xì)的對(duì)比表格:http://hyperpolyglot.org/c

      hyperpolyglot.org中對(duì)一些相似的開(kāi)發(fā)語(yǔ)言和工具做詳細(xì)對(duì)比,沒(méi)事的時(shí)候可以看看。

      推薦學(xué)習(xí):Golang教程

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)