2 回答

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊
這是在您使用匿名字段將位置“子類化”的情況下:
用類型聲明但沒有顯式字段名稱的字段是匿名字段。此類字段類型必須指定為類型名稱T或指向類型名稱* T的指針,并且T本身可能不是指針類型。非限定類型名稱充當(dāng)字段名稱。
因此,如果以這種方式子類化Position,則可能希望調(diào)用者能夠訪問“父” Position結(jié)構(gòu)(例如:如果您要調(diào)用String()
位置本身,而不是子類型)。Pos()
返回它。

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊
在這樣的結(jié)構(gòu)中(來自pkg / go / ast / ast.go),token.Position以下是struct字段,但沒有任何名稱:
// Comments
// A Comment node represents a single //-style or /*-style comment.
type Comment struct {
token.Position; // beginning position of the comment
Text []byte; // comment text (excluding '\n' for //-style comments)
}
因此,當(dāng)它沒有名稱時(shí),如何訪問它?那是什么.Pos()。給定一個(gè)Comment節(jié)點(diǎn),您可以token.Position使用其.Pos上的方法來獲取它:
comment_position := comment_node.Pos ();
comment_position現(xiàn)在,這里包含未命名(“匿名”)結(jié)構(gòu)字段的內(nèi)容token.Position。
- 2 回答
- 0 關(guān)注
- 263 瀏覽
添加回答
舉報(bào)