Golang go/ast.BasicLit type examples

package go/ast

A BasicLit node represents a literal of basic type.

Golang go/ast.BasicLit type usage examples

Example 1:

 func NodeDescription(n ast.Node) string {
 switch n := n.(type) {
 case *ast.ArrayType:
 return "array type"
 case *ast.AssignStmt:
 return "assignment"
 case *ast.BasicLit:
 return "basic literal"
 ...
 }

Example 2:

 func createItStatementForTestFunc(testFunc *ast.FuncDecl) *ast.ExprStmt {
 blockStatement := &ast.BlockStmt{List: testFunc.Body.List}
 fieldList := &ast.FieldList{}
 funcType := &ast.FuncType{Params: fieldList}
 funcLit := &ast.FuncLit{Type: funcType, Body: blockStatement}

 testName := rewriteTestName(testFunc.Name.Name)
 basicLit := &ast.BasicLit{Kind: 9, Value: fmt.Sprintf("\"%s\"", testName)} //<-- here
 itBlockIdent := &ast.Ident{Name: "It"}
 callExpr := &ast.CallExpr{Fun: itBlockIdent, Args: []ast.Expr{basicLit, funcLit}}
 return &ast.ExprStmt{X: callExpr}
 }

Reference :

http://golang.org/pkg/go/ast/#BasicLit

Advertisement