Go语言中文网 为您找到相关结果 218

Go语言中的控制语句

// code_004_process_control project main.go package main import ( "fmt" "time" ) func main() { //if语句 if a := 3; a > 3 { fmt.Println("a >3") } else if a == 3 { fmt.Println("a==3") } else { fmt.Println("error") } fmt.Println("\n============\n") //switch语句1 switch score := 90; score { case 80, 90, 100: fmt.Println("优秀") case 50, 60, 70: fmt.Println("...阅读全文

博文 2018-10-04 00:35:09 ck_god

11. Go 语言流程控制:goto 无条件跳

Hi,大家好,我是明哥。 在自己学习 Golang 的这段时间里,我写了详细的学习笔记放在我的个人微信公众号 《Go编程时光》,对于 Go 语言,我也算是个初学者,因此写的东西应该会比较适合刚接触的同学,如果你也是刚学习 Go 语言,不防关注一下,一起学习,一起成长。 我的在线博客:http://golang.iswbm.com我的 Github:github.com/iswbm/GolangCodingTime Go里的流程控制方法还是挺丰富,整理了下有如下这么多种: if - else 条件语句 switch - case 选择语句 for - range 循环语句 goto 无条件跳转语句 defer 延迟执行 前面三种,我已经都讲过了,今天要讲讲 goto 的无条件跳转。 很难想象在...阅读全文

博文 2020-05-06 08:32:38 Python编程时光

golang学习(3):go的流程和函数

一、流程控制 if 和其他语言没什么区别,只是判断语句不加括号,比如: if integer := 5; integer == 3 { fmt.Println("The integer is equal to 3") } else if integer < 3 { fmt.Println("The integer is less than 3") } else { fmt.Println("The integer is greater than 3") } goto 这个就神奇了,用goto跳转到必须在当前函数内定义的标签,上代码比较好: i := 5 here: i++ fmt.Println(i) if i < 10 { goto here } else { goto there } f...阅读全文

博文 2018-10-24 23:34:42 鲨鱼巨人

8. Go 语言流程控制:if-else

Hi,大家好,我是明哥。 在自己学习 Golang 的这段时间里,我写了详细的学习笔记放在我的个人微信公众号 《Go编程时光》,对于 Go 语言,我也算是个初学者,因此写的东西应该会比较适合刚接触的同学,如果你也是刚学习 Go 语言,不防关注一下,一起学习,一起成长。 我的在线博客:http://golang.iswbm.com我的 Github:github.com/iswbm/GolangCodingTime 1. 条件语句模型 Go里的流程控制方法还是挺丰富,整理了下有如下这么多种: if - else 条件语句 switch - case 选择语句 for - range 循环语句 goto 无条件跳转语句 defer 延迟执行 今天先来讲讲 if-else 条件语句 Go 里的条件...阅读全文

博文 2020-04-30 08:32:41 Python编程时光

leetcode --- 三步问题(DP)

三步问题 leetcode-golang 问题 有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模1000000007。 示例1: 输入:n = 3 输出:4 说明: 有四种走法 示例2: 输入:n = 5 输出:13 提示: n范围在[1, 1000000]之间 解题思路 分析:设跳到i阶的方式有dp[i]种方式,那么跳往dp[i]的所有情况为 第 i-3 阶跳 3 阶,dp[i-3]种方式 第 i-2 阶跳 2 阶,dp[i-2]种方式 第 i-1 阶跳 1 阶,dp[i-1]种方式 dp[i] = dp[i-3] + dp[i-2] + dp[i-3] 疑问:为什么 i-3 阶跳到 i-2 阶不算...阅读全文

博文 2020-03-17 23:32:45 laijh

基于Go博客wblog的理解和修改。

初衷 ​ 自学Go语言已经一段时间,想通过博客更深入理解go语言。最终通过Gin语言定位了wblog博客框架。wblog是基于基于gin+gorm开发的个人博客项目。 ​ 学习别人的博客是一个抓狂的过程,不仅要疯狂学习扩展的知识,比如gin框架,gorm,还要理解原作者的思想和构建过程。 ​ 原项目仅做了简单的英文注释。我则根据原项目增添了很多自己理解的注释和说明,方便其他后来人学习参考。同时更新原项目依赖,可以一键运行。 修改 增加了中文注释,更多的是我对原项目的理解,方便其他人理解和学习。 使用go module替代了govendor依赖管理包,更方便目前的运行方式。 更新了代码中的依赖包,比如session中的代码。 将默认使用的数据库修改为Mysql。并将时间格式设置为charset...阅读全文

博文 2020-02-06 17:33:19 moakia

golang循环跳转语句

golang循环跳转语句 跳转语句 goto break continue 三个语法都可以配合标签使用 标签名区分大小写,若不使用会造成编译错误 break与continue配合标签可用于多层循环的跳出 goto是调整执行位置,与其他2个语句配合标签使用的结果不同 break func main() { LABEL1: for { for i := 0; i < 10; i++ { if i > 3 { fmt.Println(i) break LABEL1 } } } fmt.Println("执行结束") } 输出结果 API server listening at: 127.0.0.1:5587 4 执行结束 Process exiting with code: 0 添加LABEL1标...阅读全文

博文 2019-07-30 03:32:39 iXiAo9

golang基础--控制语句

go基础之控制语句 补充知识 指针 与其他语言不同,在Go中不支持指针运算即->运算符,而直接采用.选择符来操作指针目标对象的成员。 操作符&取变量的地址,使用*通过指针间间接访问目标对象 默认值位nil,而非NULL 实例代码如下 //指针的使用 package main import "fmt" func main() { a := 1 //定义一个变量,类型位int a++ //必须单独放一行 var p *int = &a // 指针p指向a的内存地址 fmt.Println(p) //访问p fmt.Println(*p) //取p内存地址指向的值 } 运行结果 shell 0xc04200e0b8 //内存地址 2 //地址指向的值 判断if控制语句 条件表达式没有括号 支持一个...阅读全文

博文 2018-07-12 13:30:39 failymao

Golang学习笔记4——控制语句

1.基础知识补充(指针、递增递减语句) 指针 go虽然保留了指针,但是与其它编程语言不同的是,在go当中不支持指针运算以及"->"运算符,而直接采用"." 选择符来操作指针目标对象的成员 操作符"&"取变量地址,使用"*"通过指针间接访问目标对象 默认值为nil而非null 在go中,++与--是作为语句而并不是作为表达式 a := 1 a++ //但不能这样:a := a++,只能作为单独的语句独占一行 2.if判断语句 条件表达式没有括号 支持一个初始化表达式(可以是并行方式) 左大括号必须和条件语句或else在同一行 支持单行模式 初始化语句中的变量为block级别,同时隐藏外部同名变量 func main(){ a := 10 if a:=1 { fmt.Println(a) } f...阅读全文

博文 2017-10-22 09:04:44 MarksGui

Go语言实战笔记(三)| Go Doc 文档

《Go语言实战》读书笔记,未完待续,欢迎关注公众号flysnow_org,第一时间看后续笔记。 对于协作开发或者代码共享来说,文档是一个可以帮助开发者快速了解以及使用这些代码的一个教程,文档越全面,越详细,入门越快,效率也会更高。 在Go语言中,Go为我们提供了快速生成文档以及查看文档的工具,让我们可以很容易的编写查看文档。 Go提供了两种查看文档的方式,一种是使用go doc命令在终端查看,这种适用于使用VIM等工具在终端开发的人员,它们不用离开终端,既可以查看想查看的文档,又可以编码。 第二种方式,是使用浏览器查看的方式,通过godoc命令可以在本机启动一个web服务,我们可以通过打开浏览器,访问这个服务来查看我们的Go文档。 从终端查看文档这种方式适用于在终端开发的,它们一般不像离开终...阅读全文

博文 2017-07-04 02:18:15 飞雪无情

ECS控制台实例搜索的优化与改进

摘要: 搜索功能是控制台非常重要的功能,承载着实例管理入口的作用,应该好用,快速和准确。然而,ECS控制台实例列表的搜索功能经常被吐槽不好用,痛点主要有以下三点: 每次搜索之前需要选择搜索类型,非常繁琐。 过滤条件太多了, 搜索框,tag,表格过滤,高级搜索,搜索条件不统一 不支持模糊搜索 从已知的这些问题出发,ECS控制台将对搜索功能,以及整个实例管理的用户体验部分做长期的优化和改进。 搜索功能是控制台非常重要的功能,承载着实例管理入口的作用,应该好用,快速和准确。然而,ECS控制台实例列表的搜索功能经常被吐槽不好用,痛点主要有以下三点: 1.每次搜索之前需要选择搜索类型,非常繁琐。 2.过滤条件太多了, 搜索框,tag,表格过滤,高级搜索,搜索条件不统一 3.不支持模糊搜...阅读全文

数据结构之跳表

跳表 前言 文中附代码实现. 在公众号回复 【跳表】 也可以获取哦。 什么是跳表 跳表是一种数据结构。它允许快速查询一个有序连续元素的数据链表。跳跃列表的平均查找和插入时间复杂度都是O(log n),优于普通队列的O(n)。 from. 维基百科 引题 线性表这种数据有两种具体实现, 数组和链表。具体的内容之前的文章里也有说过,可以翻翻看哇~。在这里两种数据结构中,数组的优点是查找速度快,而链表的优点是增删的效率高,这也是我们常说的。其实,非也。 数组是一种内存连续的数据结构,其优点是可以通过首地址+N*(sizeOf(Node)) 来快速获取指定位置上的元素.假如我们不知道指定元素的位置呢? 链表是一种非内存连续的数据,其优点是通过改变指针地址来快速增减元素。很明显的问题,你首先要知道你要...阅读全文

博文 2020-01-06 23:32:47 方小白_

09-GoLang流程控制

选择结构if C语言中有三目运算符 ?: Go语言中没有,所有用三目解决的问题使用 if-else 来解决 C语言中的if选择结构有三种格式 格式一: if(条件表达式){ 被控制的语句; } 格式二: if(条件表达式){ 被控制的语句; }else{ 被控制的语句; } 格式三: if(条件表达式){ 被控制的语句; }else if(条件表达式){ 被控制的语句; }else{ 被控制的语句; } Go语言中的if选择结构也有三种格式, 并且和C语言中的格式类似 格式一: if 初始化表达式;条件表达式 { 被控制的语句; } // 注意点: 如果将变量定义到if的初始化表达式中, 那么变量只能在if结构中使用 // 这样做的目的是为了提升性能, 如果变量只在选择结构中使用, //那么...阅读全文

博文 2018-10-10 13:34:39 箩篼

【Go学习笔记】 5、控制语句

指针 Go虽然保留了指针,但与其他编程语言不同的是,在Go当中不支持指针运算以及“->”运算符,而直接采用“.”选择符来操作指针目标对象的成员 操作符 “&”取变量地址,使用“ * ” 通过指针间接访问目标对象 默认值为nil而非NULL 递增递减语句 在Go当中,++与– 是作为语句而并不是作为表达式。 选择语句switch 可以使用任何类型或表达式作为条件语句 不需要写break,一旦条件符合自动终止 如希望继续执行下一个case,需使用fallthrough语句 支持一个初始化表达式(可以是并行方式),右侧需跟分好 左大括号必须和条件语句在同一行 12345678910111213141516171819202122232425262728293031323334353637 func...阅读全文

博文 2017-05-30 05:09:42 HundredLee

软件技术-零基础-MD5加密处理和自动跳

欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】 如何将用户的密码加密之后再存储? MD5 加密的目的是保护用户的隐私,尤其是一些很敏感的密码,原则上这些密码的明文只能出现在用户电脑上,不能在网络上传输,更不能存储在网站服务器上。 MD5是一种不可逆的加密算法,就是说它可以把用户密码变为一串新字符,而原则上没有任何方法可以把这串新字符再变回去找到用户真实的密码。(但没有什么是绝对的,只是相对来说是这样) MD5总是生成32个英文字符和字母混合的字符串。 前端加密 实际上我们只需要在网页端将用户所有输入的密码都处理一下就可以了,不涉及后端服务器程序,因为用户密码到底是什么格式,对于服务器来说都是一样的存储、验证。 需要为前端相关页面register.html,login.html,rese...阅读全文

博文 2019-04-03 20:34:38 zhyuzh3d

channel 和 select 控制 goroutines

最近有一个需求是在一个常驻内存的程序中结束相关任务。在 Go 中,创建一个 goroutine 非常简单,只需要 go 一下就可以了,但是如果我创建了很多 goroutine,想要结束怎么办? 比如说我有一个死循环的例子 1234567891011121314151617181920package mainimport ("fmt" "sync" "time")func main() {queue := make(chan int, 20) var wg sync.WaitGroup for { // 就是一个死循环 queue <- 1 <-queue for i := 0; i <10; i++ {wg.Add(1) go func(i int) {time.Sleep(5 * time...阅读全文

博文 2020-02-21 10:43:38 ipfans's Blog

10. Go 语言流程控制:for 循环

Hi,大家好,我是明哥。 在自己学习 Golang 的这段时间里,我写了详细的学习笔记放在我的个人微信公众号 《Go编程时光》,对于 Go 语言,我也算是个初学者,因此写的东西应该会比较适合刚接触的同学,如果你也是刚学习 Go 语言,不防关注一下,一起学习,一起成长。 我的在线博客:http://golang.iswbm.com我的 Github:github.com/iswbm/GolangCodingTime Go里的流程控制方法还是挺丰富,整理了下有如下这么多种: if - else 条件语句 switch - case 选择语句 for - range 循环语句 goto 无条件跳转语句 defer 延迟执行 上一篇讲了switch - case 选择语句,今天先来讲讲 for 循环...阅读全文

博文 2020-05-02 10:33:13 Python编程时光

Golang 学习笔记:流程控制

条件语句 Go语言没有do-while语句,而for语句拥有更广泛的含义和用途switch语句也有进一步的扩展,支持类型判断和初始化子句等。 常见的流程控制的关键字有: defer:用于捕获异常和资源回收等工作 select:用于多支选择(配合通道使用) go:用于异步启动 goroutine 并执行特定函数 if判断语句 func main() { a := 15 if a < 20 { fmt.Println("a小于20") } //顺序执行 fmt.Println("a的值是", a) } if判断语句是最简单的判断,缺点在于无法返回false的情况,为了增加这一功能就要用到if-else语句。 if-else语句 func main() { a := 20 if a < 20 { ...阅读全文

博文 2020-06-03 13:32:42 sunlingbot