祗疼妳一个 发表于 2023-8-30 07:52:35

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,2go语言允许这样多返回值赋值赋值方式,再挖个坑,原因会在介绍函数时说明一下。
运算符

算术运算符

++--自增1自减1+=-=*=/=%=自增自减自乘自除自模,取余+-*/%加法减法乘法除法模,取余注意: 例如如3/2 在整型中是整除即3/2=1,在浮点型是3.0/2.0=1.5,模运算智能用于整数
位运算符

&|^左移右移与或亦或=&=|=^=自左移自右移自与自或自亦或位运算符几乎我们这篇实用的编程用不到,但是这个概念也很重要,计算机底层事实上是这样工作的,这里在挖个坑,后面会介绍位运算的相关leetcode题目,你会看到它的威力。
逻辑运算

&&||==!=!与或相等不等于非>=
页: [1]
查看完整版本: 3.你所不知道的go语言控制语句——Leetcode习题69