我想转换网址f.e .:



当然,相反:



我尝试使用 idna 程序包,但无法导入 vendor 程序包idna

doc上的Link:
https://godoc.org/golang.org/x/net/idna#Profile.ToUnicode

尝试导入:

import "golang_org/x/net/idna"

得到错误:
main.go:18:8: cannot find package "golang_org/x/net/idna" in any of:
    /usr/local/go/src/golang_org/x/net/idna (from $GOROOT)
    /home/arseny/go/src/golang_org/x/net/idna (from $GOPATH)

另一种尝试:
import "vendor/golang_org/x/net/idna"

错误:
main.go:18:8: must be imported as golang_org/x/net/idna

main.go:19:2: use of vendored package not allowed

最佳答案

有人说此代码有效

在bash中:

go get golang.org/x/net/idna

示例代码Go:
package main

import (
    "fmt"
    "golang.org/x/net/idna"
)

var p *idna.Profile

func main() {
    // Raw Punycode has no restrictions and does no mappings.
    p = idna.New()
    fmt.Println(p.ToUnicode("xn--d1abbgf6aiiy.xn--p1ai"))
}

但我仍然希望存在另一种方式。我不喜欢将软件包的本地副本复制到$ GOROOT路径中。

10-06 01:47