Go は短絡評価を実装しますか?
短絡評価とは、if ステートメント内の式が次の場合にのみ評価する方法を指します。ステートメントの結果を決定するために必要です。つまり、if ステートメントの最初の式が false と評価された場合、残りの式は評価されません。
Go は短絡評価を実装します。これは、次のコードで説明できます:
package main import "fmt" func main() { for i := 0; i < 10; i++ { if testFunc(1) || testFunc(2) { // do nothing } } } func testFunc(i int) bool { fmt.Printf("function %d called\n", i) return true }
このコードが実行されると、次の出力が表示されます:
$ function 1 called $ function 1 called $ function 1 called $ function 1 called $ function 1 called $ function 1 called $ function 1 called $ function 1 called $ function 1 called $ function 1 called
ご覧のとおり、関数 testFunc(2 if ステートメントの最初の式 (testFunc(1)) が true と評価されるため、) は呼び出されません。これは、Go が短絡評価を実装していることを示しています。
以上がGo はブール式で短絡評価を利用しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。