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 に答える