第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在 Go 中編寫全局函數(shù)——比如 append()

在 Go 中編寫全局函數(shù)——比如 append()

Go
繁華開滿天機(jī) 2021-11-15 15:59:47
問題很簡單——我如何在 golang 中實(shí)現(xiàn)一個(gè)獨(dú)立于包的全局函數(shù)。ID,如果我在名為 core 的包中有一個(gè)函數(shù),那么從另一個(gè)包中我需要 core.Function() 來調(diào)用該函數(shù)。但是我在 go 實(shí)現(xiàn)中有一些函數(shù),比如 - make(), append() 可以在沒有任何導(dǎo)入的情況下直接在任何包中使用切片。如果我想寫這樣的函數(shù),這樣做的方法是什么?如果可能的話,我如何編寫這樣的任何函數(shù)。
查看完整描述

2 回答

?
繁星coding

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊

不可能完全按照您的意愿去做,但您可以通過使用點(diǎn)導(dǎo)入來接近它。例如,如果您點(diǎn)導(dǎo)入fmt包,您可以拼寫fmt.Println為Println:


package main


import . "fmt"


func main() {

    Println("Hello, playground")

}

游樂場:http : //play.golang.org/p/--dWV6PHYA。


查看完整回答
反對 回復(fù) 2021-11-15
?
三國紛爭

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超7個(gè)贊

簡短的回答是:你不能。Go 有內(nèi)置函數(shù)和類型,但即使是語言設(shè)計(jì)者也盡量將它們的數(shù)量保持在最低限度,并盡可能避免它們。例如,有一個(gè)內(nèi)置printf函數(shù),但建議fmt.Printf改用,因?yàn)閮?nèi)置函數(shù)“不能保證留在語言中”。

雖然每次使用函數(shù)時(shí)都必須預(yù)先加上包名可能看起來很麻煩,但它有其明顯的優(yōu)點(diǎn)(使代碼更易于閱讀,避免名稱沖突)并且實(shí)際上并沒有聽起來那么糟糕,如果包設(shè)計(jì)者遵循這些指導(dǎo)方針在這篇博文中的“命名包內(nèi)容”中進(jìn)行了描述。

示例:Regexp要從模式字符串創(chuàng)建對象,請調(diào)用regexp.Compile(),而不是regexp.CompileRegexp()- 由于在調(diào)用函數(shù)時(shí)使用包名稱,因此可以縮短函數(shù)名稱。如果您按照 Ainar-G 的建議使用“點(diǎn)導(dǎo)入”,這當(dāng)然會(huì)丟失。然后你就會(huì)有Compile(),這可能會(huì)令人困惑(“編譯什么?”)。


查看完整回答
反對 回復(fù) 2021-11-15
  • 2 回答
  • 0 關(guān)注
  • 447 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)