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

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

是否可以在不同的文件范圍內(nèi)重用常量名稱?

是否可以在不同的文件范圍內(nèi)重用常量名稱?

Go
茅侃侃 2023-03-21 15:20:06
是否可以在不同的文件中有兩個(gè)同名的常量?foo.goconst {    deviceId = 1     // I dont need this outside the file scope}type DeviceA struct {    .. some fields..     // I cannot make constant fields here}.. some methods ...bar.goconst {    deviceId = 2      // I dont need this outside the file scope}type DeviceB struct {    .. some fields ..    // I cannot make constant fields here}.. some methods ...如果我這樣做,我會(huì)得到它deviceId已被重新聲明。如何將這些常量保留在文件的范圍內(nèi)?如果可以解決這個(gè)問(wèn)題,我不介意為常量使用某種命名空間。
查看完整描述

2 回答

?
慕碼人8056858

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

Go 編程語(yǔ)言規(guī)范

套餐

Go 程序是通過(guò)將包鏈接在一起構(gòu)建的。一個(gè)包又是由一個(gè)或多個(gè)源文件構(gòu)成的,這些源文件一起聲明屬于該包的常量、類型、變量和函數(shù),并且可以在同一包的所有文件中訪問(wèn)。這些元素可以導(dǎo)出并在另一個(gè)包中使用。

源文件組織

每個(gè)源文件都包含一個(gè) package 子句,定義它所屬的包,然后是一組可能為空的導(dǎo)入聲明,這些聲明聲明它希望使用其內(nèi)容的包,然后是一組可能為空的函數(shù)、類型、變量聲明,和常量。


屬于包的 [constants] 可以在同一包的所有文件中訪問(wèn)。

Go 的基本編譯單元是包。包中的源文件被合并以形成編譯器的輸入。


查看完整回答
反對(duì) 回復(fù) 2023-03-21
?
海綿寶寶撒

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

回答你的問(wèn)題:不可能有兩個(gè)具有相同名稱的常量,在相同的范圍內(nèi),在不同的文件中的相同包中。


Go 中沒(méi)有命名空間或文件范圍。


但是,在同一個(gè)包中可以有兩個(gè)同名的常量,但在不同的范圍內(nèi)聲明:


package main


import (

    "fmt"

)


const a = 1


func main() {

    const a = 2

    fmt.Println(a) // output is 2

}

scope 詳情請(qǐng)見(jiàn):https://golang.org/ref/spec#Declarations_and_scope


查看完整回答
反對(duì) 回復(fù) 2023-03-21
  • 2 回答
  • 0 關(guān)注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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