2014-11-01 48 views
0

我试图让下面的代码进行编译:Golang包导入

package main 

import (
    "fmt"  
    "code.google.com/p/go.text/unicode/norm" 
) 

func main() { 
    fmt.Println(norm.IsNormalString("ŋ̊")) 
} 

我已经安装了统一字符编码/规范包装。我编译的命令:

go build -o ipa ipa.go 

不幸的是,我得到以下错误:

# command-line-arguments 
./ipa.go:9: undefined: norm.IsNormalString 
make: *** [ipa] Error 2 

看来这个包被正确导入,但我不能访问任何成员。我尝试将方法从被调用的方法更改为另一个方法,但仍然出现错误。这导致我相信我从根本上误解了go的包系统。

回答

1

func (Form) IsNormalString

func (f Form) IsNormalString(s string) bool 

IsNormalString returns true if s == f(s).

IsNormalString不是一个函数,它是在Form类型的方法。例如,

package main 

import (
    "code.google.com/p/go.text/unicode/norm" 
    "fmt" 
) 

func main() { 
    fmt.Println(norm.NFC.IsNormalString("ŋ̊")) 
} 

输出:

true