2 回答

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

TA貢獻1784條經驗 獲得超9個贊
在這樣的結構中(來自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)
}
因此,當它沒有名稱時,如何訪問它?那是什么.Pos()。給定一個Comment節點,您可以token.Position使用其.Pos上的方法來獲取它:
comment_position := comment_node.Pos ();
comment_position現在,這里包含未命名(“匿名”)結構字段的內容token.Position。
- 2 回答
- 0 關注
- 286 瀏覽
添加回答
舉報