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

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

golang中的可變getter函數(shù)

golang中的可變getter函數(shù)

Go
喵喵時光機 2021-11-22 15:09:17
考慮 go 中的以下堆棧實現(xiàn):package mainimport "fmt"var a [10]intvar top int = -1func main() {    printStack()    push(1)    printStack()    push(23)    printStack()    pop()    push(2)    printStack()    println("Top element is", getTop)}func push(x int) {    top += 1    a[top] = x}func pop() {    top -= 1}func getTop() int {    return a[top]}func printStack() {    fmt.Println(top+1, "Stack: ", a, "Top", getTop)}問題:當我使用時println("Top element is", getTop),它打印出內(nèi)存地址0x193928,但當我調(diào)用時println("Top element is", getTop()),它返回2。返回 2 是有道理的,但我不明白為什么它返回內(nèi)存地址?不應(yīng)該調(diào)用沒有括號的 getTop 是無效的嗎?似乎在 golang 中不能有同名的變量和函數(shù)。這是正確的假設(shè)嗎?播放:https : //play.golang.org/p/vvOGG296gr
查看完整描述

1 回答

?
慕的地8271018

TA貢獻1796條經(jīng)驗 獲得超4個贊

  1. 您可以將您的函數(shù)作為 var 傳遞,例如:https : //play.golang.org/p/wzGVtsEFQk。所以getTop是“函數(shù)指針”,這解釋了被印刷的地址

  2. #1 解釋:如果在同一個作用域中聲明,你的 var 名和函數(shù)名會沖突


查看完整回答
反對 回復(fù) 2021-11-22
  • 1 回答
  • 0 關(guān)注
  • 148 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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