2017-10-31 16 views
2

Go AST documentation,을 보면 코드에 nil을 나타내는 노드 유형이 표시되지 않습니다. BasicLit은 받아들이는 토큰 유형 목록에서이를 지원하지 않으며 사실 go/token의 소스를 볼 때 nil 토큰이 전혀 표시되지 않습니다.Go AST에서 nil을 어떻게 표현합니까?

if x != nil 형태의 대서양 표준시를 만들고 싶다면 nil을 어떻게 처리해야합니까?

답변

2

Go 사양에 따라 nil은 미리 선언 된 식별자입니다. 따라서 AST에서 *ast.Ident으로 표시됩니다.

node := ast.NewIdent("nil")