golang中空標識符的作用是什么

本篇文章給大家分享的是有關golang中空標識符的作用是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網綜合服務,包含不限于成都網站制作、成都做網站、外貿營銷網站建設、扎囊網絡推廣、微信小程序開發(fā)、扎囊網絡營銷、扎囊企業(yè)策劃、扎囊品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供扎囊建站搭建服務,24小時服務熱線:18980820575,官方網址:bm7419.com

空白符(blank identifier)

空白符的產生可能是因為go不允許變量聲明了但不使用。既然不想使用,何必聲明變量呢,那就將變量用空白符代替,反正空白符就是用來拋棄的。

我們有時候看到這樣的golang代碼:

import _ "net/http/pprof"

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

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

var _ = Suite(&HelloWorldTest{})

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

那它到底是何方神圣呢?

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

空標識符一般用于4種場合,正對應上面例子的4段代碼。

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

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

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

4. 想在main之前執(zhí)行某段代碼,當然用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
}

輸出結果:

The int: 5, the float: 7.500000

以上就是golang中空標識符的作用是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當前文章:golang中空標識符的作用是什么
鏈接地址:http://bm7419.com/article16/igcodg.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網站建設、商城網站、網站排名、外貿網站建設、Google

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網站優(yōu)化排名