缩短Go/Golang中的导入变量导出?

Der*_*rek 2 go

如果我有

// types.go

type S string

func (s *S) Lower() *S {
    *s = S(strings.ToLower(string(*s)))
    return s
}
Run Code Online (Sandbox Code Playgroud)

`

// in another file

import "u/types"

func main() {
    s := types.S("asdf")
    if s == "asdf" {
        s.Lower()
    }
}
Run Code Online (Sandbox Code Playgroud)
  1. 有没有办法将types.S("asdf")缩短为S("asdf")?

  2. 有没有办法从其他文件小写方法调用?egsLower()=> s.lower()?

Jer*_*all 13

在大多数情况下不推荐使用,但您可以这样做import . "u/types",然后跳过类型前缀..将所有公共符号导入到您的包中,允许您将它们称为您的包的本地符号.