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

golang的空標(biāo)識(shí)符理解

 更新時(shí)間:2019年04月03日 09:42:47   作者:ant-one  
今天小編就為大家分享一篇關(guān)于golang的空標(biāo)識(shí)符理解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

空白符(blank identifier)

空白符的產(chǎn)生可能是因?yàn)間o不允許變量聲明了但不使用。既然不想使用,何必聲明變量呢,那就將變量用空白符代替,反正空白符就是用來拋棄的。

我們有時(shí)候看到這樣的golang代碼:

import _ "net/http/pprof"

for _, c := range "11234" {
  log.Println(c)
}

var _ io.Reader = (* XXX)(nil)  //全局變量

var _ = Suite(&HelloWorldTest{})

代碼中_很獨(dú)特的樣子:說是變量吧,但它在同一作用域可以多次被定義;說是類型吧,寫法上又不像。

那它到底是何方神圣呢?

其實(shí)官方文檔有定義和介紹,它叫Black Identifier,中文翻譯為空標(biāo)識(shí)符??諛?biāo)識(shí)符不是普通變量,而是語言提供的一種特殊處理,它能避免某個(gè)變量起名,同時(shí)也可以在賦值時(shí)舍棄某個(gè)值。

空標(biāo)識(shí)符一般用于4種場合,正對(duì)應(yīng)上面例子的4段代碼。

1. 引入某包只執(zhí)行包中的init函數(shù),但本包沒有直接引用該包任何變量或函數(shù),使用import _避免編譯錯(cuò)誤;

2. 函數(shù)有多返回值,忽略其中某些返回值。類似c++11 std::ignore在std::tie中的運(yùn)用;

3. 編譯期檢查,比如某類型有沒有實(shí)現(xiàn)某接口的檢查;

4. 想在main之前執(zhí)行某段代碼,當(dāng)然用init也可以。

示例 blank_identifier.go

package main
import "fmt"
func main() {
  var i1 int
  var f1 float32
  i1, _, f1 = ThreeValues()
  fmt.Printf("The int: %d, the float: %f \n", i1, f1)
}
func ThreeValues() (int, int, float32) {
  return 5, 6, 7.5
}

輸出結(jié)果:

The int: 5, the float: 7.500000

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • Go語言在終端打開實(shí)現(xiàn)進(jìn)度條處理數(shù)據(jù)方法實(shí)例

    Go語言在終端打開實(shí)現(xiàn)進(jìn)度條處理數(shù)據(jù)方法實(shí)例

    這篇文章主要介紹了Go語言在終端打開實(shí)現(xiàn)進(jìn)度條處理數(shù)據(jù)方法實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Goland 的安裝及激活教程(window、linux下安裝)

    Goland 的安裝及激活教程(window、linux下安裝)

    這篇文章主要介紹了Golang Goland 的安裝及激活詳細(xì)教程,包括window下安裝goland和linux下安裝goland,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Golang如何使用go.mod配置加載本地模塊

    Golang如何使用go.mod配置加載本地模塊

    這篇文章主要介紹了Golang如何使用go.mod配置加載本地模塊問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Go?gRPC服務(wù)端流式RPC教程示例

    Go?gRPC服務(wù)端流式RPC教程示例

    這篇文章主要為大家介紹了Go?gRPC服務(wù)端流式RPC教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 使用Go語言發(fā)送郵件的示例代碼

    使用Go語言發(fā)送郵件的示例代碼

    很多朋友想試試用Go語言發(fā)送郵件,所以接下來小編給大家介紹一下如何用Go語言發(fā)送郵件,文中通過代碼實(shí)例講解的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • go語言定時(shí)器Timer及Ticker的功能使用示例詳解

    go語言定時(shí)器Timer及Ticker的功能使用示例詳解

    這篇文章主要為大家介紹了go語言定時(shí)器的功能使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • Golang匯編命令解讀及使用

    Golang匯編命令解讀及使用

    這篇文章主要介紹了Golang匯編命令解讀及命令使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • Go語言實(shí)現(xiàn)登錄驗(yàn)證代碼案例

    Go語言實(shí)現(xiàn)登錄驗(yàn)證代碼案例

    這篇文章主要介紹了Go語言實(shí)現(xiàn)登錄驗(yàn)證代碼案例,代碼和圖文講解的很清晰,有感興趣的可以學(xué)習(xí)下
    2021-03-03
  • 如何使用Goland IDE go mod 方式構(gòu)建項(xiàng)目

    如何使用Goland IDE go mod 方式構(gòu)建項(xiàng)目

    這篇文章主要介紹了如何使用Goland IDE go mod 方式構(gòu)建項(xiàng)目,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Go語言strconv包實(shí)現(xiàn)字符串和數(shù)值類型的相互轉(zhuǎn)換

    Go語言strconv包實(shí)現(xiàn)字符串和數(shù)值類型的相互轉(zhuǎn)換

    這篇文章主要介紹了Go語言strconv包實(shí)現(xiàn)字符串和數(shù)值類型的相互轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評(píng)論

邓州市| 安新县| 当阳市| 女性| 夏河县| 河津市| 安图县| 克山县| 淮南市| 葵青区| 宁城县| 乌鲁木齐县| 沂水县| 玉林市| 库车县| 清流县| 合水县| 确山县| 寿光市| 张北县| 汤阴县| 宜兰县| 琼海市| 加查县| 库伦旗| 武汉市| 阳城县| 济宁市| 辉县市| 萨迦县| 隆林| 南通市| 夏津县| 青海省| 黎平县| 石嘴山市| 江山市| 徐汇区| 伊通| 桃源县| 罗定市|