n ビット右シフトそれは2のn乗で割られます。 「a>>b」は、a のすべての 2 進ビットを右に b ビットだけシフトします。
代入演算子
代入演算子は開発でもよく使用されます。
#オペレータ
##説明
#=
単純な代入演算子、式を変換します。 の値を代入します。式を左辺値に
=
代入加算後の値
##-=
減算後、代入値
##*=
## 乗算して値を代入します
#/=
##除算して値を代入します
#%=
##剰余を求めて値を割り当てます
<<=
左シフト後に値を割り当てる
##>>=
右シフト後に値を割り当てます
&=
##ビット単位の AND 後の代入
|
=
##ビットごとの OR 後の代入
##^=
ビットごとの XOR 後の代入
プロセス制御
Go では、次の種類のプロセス制御があります。
#if
##if
ケースを切り替える
#標準の
##範囲
##goto(使用には注意してください)
if
構文
//方式一,一个if
if 条件{
//执行语句
}
//方式二,if条件不成功执行else
if 条件{
//if成功语句
}else{
//if不成功语句
}
//方式三,带有else if得
if 条件1{
//if成功语句
}else if 条件2{
//if不成功,继续else if条件
}else{
//上面都不成功,执行else
}
ログイン後にコピー
# ########例#########
package main
import "fmt"
func main() {
var gender = "男"
if gender == "男" {
fmt.Println("男")
} else if gender == "女" {
fmt.Println("女")
} else {
fmt.Println("啥都不是???")
}
}
ログイン後にコピー
switch case
switch case和if本质是一个东西,但是在某些场景,switch是比if更加简洁的。
代码
package main
import "fmt"
func main() {
var week = 3
switch week {
case 1:
fmt.Println("周一")
case 2:
fmt.Println("周二")
case 3:
fmt.Println("周三")
case 4:
fmt.Println("周四")
case 5:
fmt.Println("周五")
case 6:
fmt.Println("周六")
case 7:
fmt.Println("周日")
default://如果上面都没执行,会执行default
fmt.Println("星期八????")
}
}
ログイン後にコピー
注:在Go中,switch是没有case穿透的。
Go的switch可以case多个值。
package main
import "fmt"
func main() {
var week = 3
switch week {
case 1, 2, 3, 4, 5:
fmt.Println("上班")
case 6:
fmt.Println("周六睡懒觉")
case 7:
ログイン後にコピー
for
标准for循环
语法
for 初始条件;判断条件;结束条件{
语句
}
ログイン後にコピー
代码
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
fmt.Println(i)
}
}
package main
import "fmt"
func main() {
var student_list = [...]string{"张三", "李四", "王五"}
for index, v := range student_list {
//index为下标,v是每一个的值
fmt.Println(index, v)
}
}