github.com/unionj-cloud/go-doudou@v1.3.8-0.20221011095552-0088008e5b31/cmd/internal/astutils/helper.go (about)

     1  package astutils
     2  
     3  import (
     4  	"strings"
     5  )
     6  
     7  func IsSlice(t string) bool {
     8  	return strings.Contains(t, "[") || strings.HasPrefix(t, "...")
     9  }
    10  
    11  func IsVarargs(t string) bool {
    12  	return strings.HasPrefix(t, "...")
    13  }
    14  
    15  func ToSlice(t string) string {
    16  	return "[]" + strings.TrimPrefix(t, "...")
    17  }
    18  
    19  // ElementType get element type string from slice
    20  func ElementType(t string) string {
    21  	if IsVarargs(t) {
    22  		return strings.TrimPrefix(t, "...")
    23  	}
    24  	return t[strings.Index(t, "]")+1:]
    25  }