ToB企服应用市场:ToB评测及商务社交产业平台
标题:
3.你所不知道的go语言控制语句——Leetcode习题69
[打印本页]
作者:
祗疼妳一个
时间:
2023-8-30 07:52
标题:
3.你所不知道的go语言控制语句——Leetcode习题69
目录
本篇前瞻
Leetcode习题9
题目描述
代码编写
控制结构
顺序结构(Sequence)
声明和赋值
多返回值赋值
运算符
算术运算符
位运算符
逻辑运算
分支结构
if 语句
switch 语句
逻辑表达式
fallthrough
类型推断
循环语句
continue
break
goto
Leetcode习题69
题目描述
题目分析
代码编写
本篇小结
下篇预告
本篇前瞻
好的,现在你已经来到一个新的小结,在这里你将学习到go语言的重要内容,习得go 25个关键字中的12个:var, const, if, else, switch, case, default, fallthrough, for, break, goto, continue,即在顺序结构学习var,const,在分支结构中学习if, else, switch, case, default, fallthrough,在循环结构中学习for, break, goto, continue。另外你最好注册一个Leetcode账号.
Leetcode习题9
让我们再来看下这个例子,这个是一个比较好的例子,里面包含了顺序,分支以及循环的所有控制结构
题目描述
9. 回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
代码编写
func isPalindrome(x int) bool {
if (x < 0) { //分支结构
return false
}
x64 := x //顺序结构
px64 := 0
for x64 != 0 { //循环结构
px64 = px64*10 + x64%10 // 顺序结构
x64 /= 10
}
return px64 == x
}
复制代码
你在这个道题目中能看到所有的控制结构:顺序结构,分支结构,循环机构
控制结构
顺序结构(Sequence)
声明和赋值
在顺序结构中声明和赋值是很重要的
var可以声明一个变量,而const则声明一个常量
package main
import "fmt"
func main() {
var i1 int //声明变量,默认值为0
var i2 int = 1 //声明变量,初始化为1
i3 := 2 //这是最常用的声明和初始化手段
fmt.Println(i1, i2, i3)
i4 := i2 + i3 //使用运算表达式赋值
i3 *= i4 //使用运算表达式赋值
fmt.Println(i3, i4)
const ci1 int = 13 //声明常量,无法
fmt.Println(ci1)
x, y, z := 100, 101, 102 //多返回值
fmt.Println(x, y, z) //打印结果
}
复制代码
输出:
0 1 2
6 3
13
100 101 102
复制代码
这里仅仅举例了整形int的声明
多返回值赋值
x,y,z := 0,1,2
复制代码
go语言允许这样多返回值赋值赋值方式,再挖个坑,原因会在介绍函数时说明一下。
运算符
算术运算符
++--自增1自减1+=-=*=/=%=自增自减自乘自除自模,取余+-*/%加法减法乘法除法模,取余
注意: 例如如3/2 在整型中是整除即3/2=1,在浮点型是3.0/2.0=1.5,模运算智能用于整数
位运算符
&|^左移右移与或亦或=&=|=^=自左移自右移自与自或自亦或位运算符几乎我们这篇实用的编程用不到,但是这个概念也很重要,计算机底层事实上是这样工作的,这里在挖个坑,后面会介绍位运算的相关leetcode题目,你会看到它的威力。
逻辑运算
[table][tr]&&||==!=![/tr][tr][td]与[/td][td]或[/td][td]相等[/td][td]不等于[/td][td]非[/td][/tr][tr][td]>=[/td][td][/td][td]
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4