3

我正在尝试为 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

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

4

1 回答 1

7

遇到此特定编译错误时要做的第一件事是确保您已从 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 可以正确检测到此函数始终返回值并且正常。

于 2013-09-15T17:00:06.143 回答