go言語トラップの2:Unused Variables
1070 ワード
引き続きgo言語の罠を制御して、今日go言語の中で変数の罠を使っていないで、使わないで捨てますか、go言語の発明者はこのように言います...まず穴を見てみましょう:
はい、one、two、threeの3つの変数に問題があります.oneは宣言しただけで、twoは値を割り当て、threeは先に宣言した後に値を割り当て、本質的にこの3つの変数は使用されていません.正しい書き方を見てみましょう.
値が割り当てられていない整数変数oneの場合、goのデフォルト値は0です.正しい書き方から,goでは,使用の定義に対して変数が付与番号の右側に現れる必要があり,変数が使用されていると考えられる.goのこのような設計は合理的で、プログラムを実行する過程で、いくつかの不要な判断と付与を減らして、pythonに対して、許容誤差性が悪くなって、この点だけで性能はもっと良いです.
package main
var gvar int //not an error
func main() {
var one int //error, unused variable
two := 2 //error, unused variable
var three int //error, even though it's assigned 3 on the next line
three = 3
}
./hello.go:6: one declared and not used
./hello.go:7: two declared and not used
./hello.go:8: three declared and not used
はい、one、two、threeの3つの変数に問題があります.oneは宣言しただけで、twoは値を割り当て、threeは先に宣言した後に値を割り当て、本質的にこの3つの変数は使用されていません.正しい書き方を見てみましょう.
package main
import "fmt"
package main
import "fmt"
func main() {
var one int
_ = one
fmt.Println(one)
two := 2
fmt.Println(two)
var three int
three = 3
one = three
var four int
four = four
}
0
2
値が割り当てられていない整数変数oneの場合、goのデフォルト値は0です.正しい書き方から,goでは,使用の定義に対して変数が付与番号の右側に現れる必要があり,変数が使用されていると考えられる.goのこのような設計は合理的で、プログラムを実行する過程で、いくつかの不要な判断と付与を減らして、pythonに対して、許容誤差性が悪くなって、この点だけで性能はもっと良いです.