首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Go语言之旅:控制、循环

Go语言之旅:控制、循环

原创
作者头像
杨子翔 josonyang
发布于 2019-09-10 14:39:34
发布于 2019-09-10 14:39:34
5430
举报
文章被收录于专栏:子翔的专栏子翔的专栏

控制、循环这个是我们做逻辑的时候所必须的操作,在使用的层面并不太大区别,主要是一些使用注意事项。

if

if语句的基本上所有语言都统一的格式为

代码语言:txt
AI代码解释
复制
if (x > max)  {
	x = max
}

但是go提供了一个去掉括号的写法

代码语言:txt
AI代码解释
复制
if  x > max  {
	x = max
}

去掉了括号那么就可以在if后面的条件中添加定义和运算,比如这样

代码语言:txt
AI代码解释
复制
if x := f(); x < y {
	return x
} else if x > z {
	return z
} else {
	return y
}

但如果说是这样写,就会报错

代码语言:txt
AI代码解释
复制
if (x := f(); x < y) { // 语法错误

}

PS:例子引用自官方案例

swtich

swtich有两种格式,一种是表达式选择,一种是类型选择

代码语言:txt
AI代码解释
复制
        switch processor.kind {
			case "create":
				creates = append(creates, processor)
			case "update":
				updates = append(updates, processor)
			case "delete":
				deletes = append(deletes, processor)
			case "query":
				queries = append(queries, processor)
			case "row_query":
				rowQueries = append(rowQueries, processor)
			}

类型表达式在判断类型中使用,这种方式也可以被改成if-else的表达方式

代码语言:txt
AI代码解释
复制
func (u *UUID) Scan(src interface{}) error {
	switch src := src.(type) {
	case UUID: // support gorm convert from UUID to NullUUID
		*u = src
		return nil
	case []byte:
		*u = FromBytes(src)
		return nil
	case string:
		*u = FromString(src)
		return nil
	}
	return fmt.Errorf("uuid: cannot convert %T to UUID", src)
}

for

for循环跟if一样主要还是在for后面的表达式运算上不同

代码语言:txt
AI代码解释
复制
package main
import "fmt"

func main() {
	for i := 0; i < 10; i++ {
		fmt.Printf("%d ", i)
	}
}

go里面没有while这种可以无限循环的关键字,只需要

代码语言:txt
AI代码解释
复制
for { //这样就无限循环了
     break //一样用break来跳出
}

还有一个for...range...的非常常用,主要用来遍历数据集合来,比如这样

代码语言:txt
AI代码解释
复制
var a [10]string
for i, s := range a {
	// type of i is int
	// type of s is string
	// s == a[i]
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
微信公众号模板消息
模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。
神葳
2021/01/22
5K0
微信公众号开发基本流程
背景: 过年前后做了个微信公众号项目,已经过去一段时间了,抽空回忆总结下基本流程吧,不然很快估计自己就忘了。。
全栈程序员站长
2022/09/06
4.4K0
微信公众号开发基本流程
手机端公众号内的微信第三方登录
OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。
山河木马
2019/03/05
3.4K0
手机端公众号内的微信第三方登录
微信公众号网页开发,登录授权和微信支付
微信公众号的网页开发基本和H5移动端开发一致,主要是涉及到网页授权获取用户信息和使用js-sdk获取微信原生能力支持。
全栈程序员站长
2022/09/06
4.7K0
微信公众号网页开发,登录授权和微信支付
第三方登录:微信扫码登录(OAuth2.0
  OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。
朝雨忆轻尘
2019/06/18
61.1K1
微信企业号登录授权Java实现获取员工userid根据userid换openid
微信企业号登录授权Java实现获取员工userid根据userid换openid 2016年1月8日 为了方便测试 。debug 建议大家搞个花生壳或者其他的可以映射公网IP的软件。 貌似涨价了8元一
小帅丶
2018/02/09
4.4K0
微信企业号登录授权Java实现获取员工userid根据userid换openid
微信公众号开发相关流程及功能介绍怎么写_微信公众号平台官网
大家好,又见面了,我是你们的朋友全栈君。 1. 开发前准备 1.1 注册微信公众平台账号 进入的网址:https://mp.weixin.qq.com。 测试号(网址:https://mp.
全栈程序员站长
2022/09/24
5.7K0
微信公众号开发相关流程及功能介绍怎么写_微信公众号平台官网
微信公众号开发——2、微信网页开发
在公众号平台下,自定义菜单,添加菜单,并选择菜单内容跳转到指定页面地址即可(需认证后方可添加页面地址,个人账号暂不支持认证)。
全栈程序员站长
2022/09/01
8K0
微信公众号发布提醒(微信公众号模板消息接口)
灵感来源于学校的 每日健康日报,要求使用微信小程序进行每日健康打卡。所以此项目的功能类似于 QQ群机器人,或者是 每日闹钟。
全栈程序员站长
2022/07/26
13.8K0
微信公众号发布提醒(微信公众号模板消息接口)
微信网页开发
套用《围城》里老学究的的一句开场白:"兄弟我刚入行的时候…“兄弟我是很不喜欢微信这样一款应用的——尽管我在2011年就已经是微信的注册用户。在我看来,第一个,能用qq达到的目的为什么还要微信?其次,凭什么一个开发要绑在一款微信里?但是,周边的人似乎在我毕业的前后通通用上了微信。
一粒小麦
2019/08/13
4.3K0
微信网页授权
在这里也不给大家做过多的介绍了,因为微信的开发手册已经写得很仔细了,关于一些注释代码里面已经有了,这里为了大家方便查看,我就直接copy微信手册的文档说明,便于大家阅读。
兔云小新LM
2020/05/19
4.3K0
注册微信开发测试号
要进行微信公众号的开发,那就需要一个本地的开发环境来进行开发。而微信测试号就正好提供了这样的一个development环境。每个微信号只能对应一个测试号,但是每个测试号可以开发多个微信公众号项目。微信号与测试号是一一对应的关系,而测试号与开发项目是一对多的关系。进入之后会看到页面里面有以下几个大块。
SH的全栈笔记
2019/10/21
3.2K0
注册微信开发测试号
微信公众号开发之授权获取用户信息
测试号:找到 网页授权获取用户基本信息>点击修改>设置域名 服务号:找到 开发>接口权限>网页授权获取用户基本信息>>点击修改>设置域名
Javen
2018/08/21
3.8K1
微信公众号开发之授权获取用户信息
微信授权接口的使用设计与实现
今天给大家演示一下微信授权的接口的实现,首先这个接口的实现有好多种方法,所以咱们有必要根据需求设计一下,将接口设计的通用和灵活。
挥刀北上
2019/07/19
1.5K0
微信授权接口的使用设计与实现
Php公众号40029,网页授权获取微信用户信息错误40029:不合法的oauth_code
在第一步:用户同意授权获取code,通过code获取access_token时,有时会出现40029错误。
全栈程序员站长
2022/08/14
5.6K0
Php公众号40029,网页授权获取微信用户信息错误40029:不合法的oauth_code
微信 JS-SDK 本地调试
最近在开发 h5 应用的时候,需要调起微信的扫一扫功能。那就得使用到微信的 JS-SDK,怎么在本地开发中,使用 JS-SDK 的功能呢?(功能不限于微信扫一扫)
Jimmy_is_jimmy
2023/05/23
13K1
微信 JS-SDK 本地调试
一文快速实现微信公众号支付功能(详细版,建议收藏备用)
微信支付实际上有很多种不同的类型,具体要使用哪一种就需要根据不同的应用场景来选择,官方给出的参考例子: 刷卡支付:用户打开微信钱包的刷卡的界面,商户扫码后提交完成支付。 公众号支付:用户在微信内进入商家H5页面,页面内调用JSSDK完成支付 扫码支付:用户打开"微信扫一扫“,扫描商户的二维码后完成支付 APP支付:商户APP中集成微信SDK,用户点击后跳转到微信内完成支付 H5支付:用户在微信以外的手机浏览器请求微信支付的场景唤起微信支付 小程序支付:用户在微信小程序中使用微信支付的场景
java进阶架构师
2019/01/02
6.2K0
微信公众号网页授权登录[通俗易懂]
微信公众号网页授权登录: 前段时间做了一个微信公众号的项目,就是微信公众号的菜单点击我的个人中心,就向用户授权登录 获取用户的信息,进行业务逻辑的操作,微信公众号官方文档,这是我写的文章,里面有很多微信的官方 文档,希望对大家有用:https://blog.csdn.net/qq_41971087/article/details/82466647 在微信公众号官方文档中,看到微信页面开发,
全栈程序员站长
2022/09/05
2.7K0
微信公众号网页授权登录[通俗易懂]
微信公众号-网页授权
在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头
星哥玩云
2022/09/14
4.4K0
微信公众号-网页授权
【微信生态圈】微信体系中的access_token有哪些?
access_token是公众号/小程序的全局唯一接口调用凭据,公众号/小程序调用各接口时都需使用access_token。开发者需要进行妥善保存。 access_token的存储至少要保留512个字符空间。 access_token的有效期目前为2个小时,需定时刷新。
烟雨平生
2023/09/22
1.2K0
【微信生态圈】微信体系中的access_token有哪些?
推荐阅读
相关推荐
微信公众号模板消息
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档