在golang中运行`go get`时如何绕过“函数结束而没有返回语句”

前端之家收集整理的这篇文章主要介绍了在golang中运行`go get`时如何绕过“函数结束而没有返回语句”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试为golang安装这个Cassandra驱动程序: https://github.com/tux21b/gocql

当我执行go get https://github.com/tux21b/gocql我得到

root@backend:/vagrant# go get tux21b.org/v1/gocql
# tux21b.org/v1/gocql
/usr/lib/go/src/pkg/tux21b.org/v1/gocql/conn.go:280: function ends without a return statement
/usr/lib/go/src/pkg/tux21b.org/v1/gocql/conn.go:359: function ends without a return statement
/usr/lib/go/src/pkg/tux21b.org/v1/gocql/conn.go:407: function ends without a return statement
/usr/lib/go/src/pkg/tux21b.org/v1/gocql/marshal.go:1000: function ends without a return statement

如何管理要安装的软件包?

解决方法

遇到此特定编译错误时要做的第一件事是确保已从Go 1.0版本升级到1.1或更高版本.

原因是Go编译器在检测不返回其预期返回值的函数时变得更聪明.例如,这样的函数

function check(n int) bool {
    if n > 10 {
        return true
    } else {
        return false
    }
}

会导致Go 1.0的编译错误,但Go 1.1可以正确检测到此函数始终返回一个值并且正常.

猜你在找的Go相关文章