Rumah > Artikel > pembangunan bahagian belakang > Analisis mendalam tentang kaedah pesanan keutamaan pelbagai pengendali dalam bahasa Go
Analisis mendalam tentang kaedah pesanan keutamaan pelbagai pengendali dalam bahasa Go
Dalam bahasa Go, keutamaan pengendali menentukan susunan penilaian pengendali dalam ungkapan. Memahami keutamaan pengendali dengan betul adalah salah satu kunci untuk menulis kod yang cekap. Artikel ini akan memberikan analisis mendalam tentang kaedah pesanan keutamaan pelbagai operator dalam bahasa Go dan memberikan contoh kod khusus.
1. Keutamaan operator aritmetik
Dalam bahasa Go, keutamaan operator aritmetik dari tinggi ke rendah ialah:
Contoh kod:
package main import "fmt" func main() { var a, b, c int = 2, 3, 4 var result int // 一元运算符 result = -a fmt.Println(result) // 输出:-2 // 乘法运算符 result = a * b fmt.Println(result) // 输出:6 // 加法运算符 result = a + b fmt.Println(result) // 输出:5 // 比较运算符 fmt.Println(a == b) // 输出:false fmt.Println(a < b) // 输出:true }
2. Keutamaan operator logik Tahap
Dalam bahasa Go, keutamaan operator logik dari tinggi ke rendah ialah:
Contoh kod:
package main import "fmt" func main() { var a, b, c bool = true, false, true var result bool // 逻辑非 result = !a fmt.Println(result) // 输出:false // 逻辑与 result = a && b fmt.Println(result) // 输出:false // 逻辑或 result = a || b fmt.Println(result) // 输出:true }
Tiga tugasan
Tiga tugasanbahasa, keutamaan pengendali tugasan adalah dari kanan ke kiri, dan tiada kaitan dengan keutamaan pengendali lain.
Contoh kod:
package main import "fmt" func main() { var a, b int = 2, 3 // 简单赋值 a = b fmt.Println(a) // 输出:3 // 复合赋值 a += b fmt.Println(a) // 输出:6 }
4. Keutamaan pengendali bersyarat
Dalam bahasa Go, keutamaan pengendali bersyarat (operator ternari) adalah lebih tinggi daripada operator tugasan, tetapi lebih rendah daripada kebanyakan operator lain.
Contoh kod:
package main import "fmt" func main() { var a, b int = 2, 3 var result int // 条件运算符 result = a > b ? a : b fmt.Println(result) // 输出:3 }
5. Keutamaan pengendali bitwise
Dalam bahasa Go, keutamaan pengendali bitwise dari tinggi ke rendah ialah:
Contoh kod:
package main import "fmt" func main() { var a, b uint8 = 2, 3 var result uint8 // 按位取反 result = ~a fmt.Println(result) // 输出:253 // 按位与 result = a & b fmt.Println(result) // 输出:2 // 按位或 result = a | b fmt.Println(result) // 输出:3 }
6. Keutamaan dari operator lain Tahap 🜎 pengendali semakin meningkat:
Pengendali alamat: &package main import "fmt" type person struct { name string age int } func main() { var p person p.name = "John" p.age = 25 // 地址运算符 fmt.Println(&p) // 输出:&{John 25} // 索引运算符 nums := [3]int{1, 2, 3} fmt.Println(nums[0]) // 输出:1 // 成员选择运算符 fmt.Println(p.name) // 输出:John }
Di atas adalah artikel yang menyediakan analisis mendalam tentang kaedah pengisihan keutamaan pelbagai operator dalam bahasa Go. Dengan memahami dengan betul keutamaan pengendali, kami boleh menulis kod yang cekap dan tepat, meningkatkan kebolehbacaan kod dan kecekapan pelaksanaan. Harap ini membantu!
Atas ialah kandungan terperinci Analisis mendalam tentang kaedah pesanan keutamaan pelbagai pengendali dalam bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!