Operator는 이상하게 들리지만 실제로는 =
=
,+
,/
,+
,/
등.
연산자는 크게
산술 연산자
관계 연산자
논리 연산자
로 나누어집니다.비트 연산자
할당 Operator
이름에서 알 수 있듯이 산술 연산자는 덧셈, 뺄셈, 곱셈, 나눗셈 등의 산술에 주로 사용됩니다.
간단한 소개는 다음과 같습니다.
operator | 설명 추가 |
---|---|
- | 빼기 |
* | 곱하기 |
/ | 나누기 |
% | 나머지 찾기 |
++ | 직접 추가함 |
- - | 자기감소 |
Operator | Description |
---|---|
== | 두 값이 같은지 확인하세요. 같으면 True 반환, 그렇지 않으면 False 반환 |
!= | 두 값이 같지 않은지 확인하고, 같지 않으면 True를 반환하고, 그렇지 않으면 False를 반환 |
> | 왼쪽 값이 오른쪽 값보다 큰지 확인하고, 그렇다면 True를 반환하고, 그렇지 않으면 False를 반환합니다 |
>= | 왼쪽 값이 오른쪽 값보다 크거나 같은지 확인하고, 같으면 True를 반환하고, 그렇지 않으면 False를 반환합니다 |
44048c548e63e5a638be01b44e3b7d21> | n 비트를 오른쪽으로 쉬프트하면 2의 n승으로 나뉩니다. "a>>b"는 a의 모든 이진 비트를 b 비트만큼 오른쪽으로 이동합니다. |
할당 연산자는 개발에서도 흔히 사용됩니다.
Operator | Description |
---|---|
= | 단순 할당 연산자는 표현식의 값을 lvalue에 할당합니다. |
+= | 추가한 후 할당 |
-= | 빼고 값 할당 |
*= | 곱한 다음 할당 |
/= | 나누어 값을 할당하세요 |
%= | 나머지를 찾아 할당하세요 가치 |
0106e3421b10e8c95918b23fb9f8a5b6>= | 오른쪽으로 이동하여 값 지정 |
& = | 비트 AND |
|= 후 할당 | 비트별 OR 후 할당 |
^= | 비트별 XOR 후 할당 |
Go에는 다음과 같은 유형의 프로세스 제어가 있습니다.
if
if
케이스 전환
for
표준 for
forrange
goto(주의해서 사용)
Syntax
//方式一,一个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
和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: fmt.Println("周日去旅游") default: fmt.Println("飞天了???") } }
语法
for 初始条件;判断条件;结束条件{ 语句 }
代码
package main import "fmt" func main() { for i := 0; i < 10; i++ { fmt.Println(i) } }
谨慎执行!!!
package main import "fmt" func main() { for{ fmt.Println("666") } }
for ragne
可以很方便循环数组,切片,字符串,map,channel等。
遍历数组示例
package main import "fmt" func main() { var student_list = [...]string{"张三", "李四", "王五"} for index, v := range student_list { //index为下标,v是每一个的值 fmt.Println(index, v) } }
注:
如果数组,切片,字符串 index是下标,v是值 如果是map index是键,v是对(值) 如果是通道 只有一个值,就是通道内的值
补充:
在Go中,只有for循环,没有while。
for循环就两种方式。
goto
可以通过标签在代码间无条件跳转,这就造成了一个局面,如果使用gote
过多,会造成逻辑混乱,跳来跳去。
所以,在开发中,要慎用,不到万不得已,不要使用。
示例
package main import "fmt" func main() { for i := 0; i < 10; i++ { for j := 0; j < 10; j++ { if j == 2 { // 直接跳转到下面的 breakTag 标签 goto breakTag } fmt.Printf("%v-%v\n", i, j) } } //要跳转的标签 breakTag: fmt.Println("结束for循环") }
위 내용은 Go 언어의 기본 연산자와 흐름 제어를 이해하는 데 도움이 되는 기사입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!