我正在尝试为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
如何管理要安装的软件包?
答案 0 :(得分: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可以正确检测到此函数始终返回值并且没有问题。