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

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

如何調(diào)用包內(nèi)未導(dǎo)出的函數(shù)?

如何調(diào)用包內(nèi)未導(dǎo)出的函數(shù)?

Go
烙印99 2023-08-14 14:56:33
我正在嘗試編寫一個可以使用的包。這是示例代碼:package redisimport (    "fmt"    "github.com/gomodule/redigo/redis"    "log"    "os")var conn redis.Connfunc init() {    // code to set conn variable}func do(command string, args ...interface{}) (interface{}, error) {    init()    return conn.Do(command, args)}這段代碼無法編譯,編譯器說undefined: init。當(dāng)我更改init()它時Init(),它可以工作,但我不希望它在包之外可用。無論我在哪里讀到這個問題,它都會說從另一個包調(diào)用未導(dǎo)出的函數(shù),但在這里我從同一個包調(diào)用它。此外,Goland IDE 將函數(shù)調(diào)用標(biāo)記為unresolved reference并建議創(chuàng)建它。但是當(dāng)我這樣做時(通過 IDE 本身),它仍然看不到它。
查看完整描述

2 回答

?
德瑪西亞99

TA貢獻(xiàn)1770條經(jīng)驗 獲得超3個贊

init() 是一個特殊函數(shù)。從語言規(guī)范來看:

函數(shù)初始化() { … }

每個包可以定義多個這樣的函數(shù),甚至在單個源文件中也是如此。在 package 塊中,init 標(biāo)識符只能用于聲明 init 函數(shù),而標(biāo)識符本身并未聲明。因此,不能從程序中的任何地方引用 init 函數(shù)。

用于init()包級初始化。


查看完整回答
反對 回復(fù) 2023-08-14
?
縹緲止盈

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

在 Go 中,init保留用于初始化需要在包中完成的工作,例如。向某些注冊表添加一些實現(xiàn)。

要解決這個問題,需要使用另一個名稱。

查看完整回答
反對 回復(fù) 2023-08-14
  • 2 回答
  • 0 關(guān)注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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