GoLand

9. Go 语言流程控制:switch-case

独自空忆成欢 提交于 2020-05-02 11:40:56
Hi,大家好,我是明哥。 在自己学习 Golang 的这段时间里,我写了详细的学习笔记放在我的个人微信公众号 《Go编程时光》,对于 Go 语言,我也算是个初学者,因此写的东西应该会比较适合刚接触的同学,如果你也是刚学习 Go 语言,不防关注一下,一起学习,一起成长。 我的在线博客: http://golang.iswbm.com 我的 Github:github.com/iswbm/GolangCodingTime Go里的流程控制方法还是挺丰富,整理了下有如下这么多种: if - else 条件语句 switch - case 选择语句 for - range 循环语句 goto 无条件跳转语句 defer 延迟执行 上一篇讲了 if -else 条件语句,今天先来讲讲 switch - case 选择语句。 0. 语句模型 Go 里的选择语句模型是这样的 switch 表达式 { case 表达式1: 代码块 case 表达式2: 代码块 case 表达式3: 代码块 case 表达式4: 代码块 case 表达式5: 代码块 default: 代码块 } 拿 switch 后的表达式分别和 case 后的表达式进行对比,只要有一个 case 满足条件,就会执行对应的代码块,然后直接退出 switch - case ,如果 一个都没有满足,才会执行 default 的代码块。

参与 Seata 社区到 go 与 Seata 的邂逅

百般思念 提交于 2020-04-28 12:44:03
  众所周知,这几年微服务、云原生提得很火热。2017年,当时公司的领导刘巍,敏锐得提出公司转型微服务。那时,提到微服务大家一头雾水,经过两年的实践,逐渐有了一些心得。但有个问题始终萦绕在微服务开发者的头上,分布式事务到底如何解决,有没有比较完美的方案?二阶段提交、柔性事务、最终一致性?   2019 年,我注意到阿里巴巴的同学在社区调研分布式事务需求,立即加入了社区群。在 seata 0.2 版本的时候,当时还不叫 seata,叫 fescar,我看到 seata 代码仓库里只有 dubbo 结合 seata 的 sample,随即在博客园写了一篇 spring boot 如何结合 seata 的博文 Spring Boot微服务如何集成seata解决分布式事务问题? ,这篇文章后来被收录到 seata wiki 里面,收获到了 18000+ 的阅读量,是我阅读量最高的一篇博客。   后来,由于工作比较忙,屡次想参与 seata 贡献,发现了几个 bug,本来想修改来着,结果看社区里边已经有人在做了😂。   由于接触微服务,自然而然接触到 k8s 技术,接触到云原生,接触到 golang。个人对 golang 比较感兴趣,比较看好它的未来。看到社区里面也有关于 seata go client 的呼声,遂萌生了打造 golang 版 seata 的想法。   有人问:喂,同学

Mac PyCharm2019激活方法

…衆ロ難τιáo~ 提交于 2020-04-28 09:18:17
此教程支持最新2019.2版本Pycharm及其他软件 此教程实时更新,请放心使用;如果有新版本出现猪哥都会第一时间尝试激活; pycharm官网下载地址: http://www.jetbrains.com/pycharm/download/ 此教程适用于本教程对jetbrains全系列可用例:IDEA、WebStorm、phpstorm、clion、goland等。 激活前准备工作 配置文件修改已经不在bin目录下直接修改,而是通过pycharm修改 如果输入code一直弹出来,请去hosts里移除jetbrains相关的项目 激活出问题可扫描下方二维码,加入激活群寻求帮助! 两种激活方式 永久激活:推荐优先使用,永久有效 有效期激活:如果你实在激活不了又着急使用,这是备选激活方案,简单快捷 一、永久激活 1.下载新版破解补丁 点击链接 https://pan.baidu.com/s/112tS3XjAENIHaJ-aSCe0dA 下载补丁文件 jetbrains-agent.jar 并将它放置到 pycharm安装目录的\bin目录:/应用程序/PyCharm.app/Contents/bin下(位置可随意,放这里是怕误操作删除了破解文件)。 2.进入项目界面 如果你之前已经使用有效期激活过可跳过此步骤,如果你是刚下载的pycharm,则需要点击激活窗口的“Evaluate

Mac PyCharm2019激活方法

扶醉桌前 提交于 2020-04-28 09:17:59
此教程支持最新2019.2版本Pycharm及其他软件 此教程实时更新,请放心使用;如果有新版本出现猪哥都会第一时间尝试激活; pycharm官网下载地址: http://www.jetbrains.com/pycharm/download/ 此教程适用于本教程对jetbrains全系列可用例:IDEA、WebStorm、phpstorm、clion、goland等。 激活前准备工作 配置文件修改已经不在bin目录下直接修改,而是通过pycharm修改 如果输入code一直弹出来,请去hosts里移除jetbrains相关的项目 激活出问题可扫描下方二维码,加入激活群寻求帮助! 两种激活方式 永久激活:推荐优先使用,永久有效 有效期激活:如果你实在激活不了又着急使用,这是备选激活方案,简单快捷 一、永久激活 1.下载新版破解补丁 点击链接 https://pan.baidu.com/s/112tS3XjAENIHaJ-aSCe0dA 下载补丁文件 jetbrains-agent.jar 并将它放置到 pycharm安装目录的\bin目录:/应用程序/PyCharm.app/Contents/bin下(位置可随意,放这里是怕误操作删除了破解文件)。 2.进入项目界面 如果你之前已经使用有效期激活过可跳过此步骤,如果你是刚下载的pycharm,则需要点击激活窗口的“Evaluate

Go语言 2019 调查报告发布

£可爱£侵袭症+ 提交于 2020-04-27 07:53:51
Go 官方博客昨日公布了[ 2019 年 Go 语言调查报告]。本次调查收到的回复达到 10,975 份,约为 去年 的两倍。 这些受访者的反馈意见将被选取用于改进 Go 语言的发展。 以下是 2019 年度的调查报告摘要: 此调查中,受访者的受众特征与 Stack Overflow 的受访者相似,因此这些结果在某种程度上可以代表更广泛的 Go 开发人员。 大多数受访者每天都要用到 Go 语言,并且该数字在逐年上升。 Go 的使用仍集中在技术公司,但它同时也被用于越来越多的行业,例如金融和媒体。 Go 最常见的用途仍然是编写 API/RPC 服务和 CLI 工具。 模块在 Go 生态系统中的使用率很高,与此同时,围绕软件包管理的一些问题仍然存在。 有待改进的重点领域包括 debug、模块和云服务的体验。 VS Code 和 GoLand 依然最受开发者欢迎,有 3/4 的受访者都喜欢它们。 有关调查报告的详细内容请继续往下阅读。 开发者背景 调查结果显示,在工作中使用 Go 语言的受访者比例与去年相当,均为 72%,这一数值几乎每年都在增长。在工作之余使用 Go 语言的人数比例则有所下降(70%→62%)。 从使用年限上来看,56% 的受访者使用 Go 语言进行开发的经验不足两年,相对来说算是新手。而有着较长时间 Go 开发经验的“老手”,多拥有 C/C++ 背景,对

Go 语言 2019 调查报告发布

余生长醉 提交于 2020-04-27 01:19:46
Go 官方博客昨日公布了[ 2019 年 Go 语言调查报告]。本次调查收到的回复达到 10,975 份,约为 去年 的两倍。 这些受访者的反馈意见将被选取用于改进 Go 语言的发展。 以下是 2019 年度的调查报告摘要: 此调查中,受访者的受众特征与 Stack Overflow 的受访者相似,因此这些结果在某种程度上可以代表更广泛的 Go 开发人员。 大多数受访者每天都要用到 Go 语言,并且该数字在逐年上升。 Go 的使用仍集中在技术公司,但它同时也被用于越来越多的行业,例如金融和媒体。 Go 最常见的用途仍然是编写 API/RPC 服务和 CLI 工具。 模块在 Go 生态系统中的使用率很高,与此同时,围绕软件包管理的一些问题仍然存在。 有待改进的重点领域包括 debug、模块和云服务的体验。 VS Code 和 GoLand 依然最受开发者欢迎,有 3/4 的受访者都喜欢它们。 有关调查报告的详细内容请继续往下阅读。 开发者背景 调查结果显示,在工作中使用 Go 语言的受访者比例与去年相当,均为 72%,这一数值几乎每年都在增长。在工作之余使用 Go 语言的人数比例则有所下降(70%→62%)。 从使用年限上来看,56% 的受访者使用 Go 语言进行开发的经验不足两年,相对来说算是新手。而有着较长时间 Go 开发经验的“老手”,多拥有 C/C++ 背景,对

gRPC in ASP.NET Core 3.x -- Protocol Buffer(2)Go语言的例子(上)

試著忘記壹切 提交于 2020-04-22 01:52:50
上一篇文章(大约半年前写的): https://www.cnblogs.com/cgzl/p/11246324.html 建立Go项目 在GOPATH的src下面建立一个文件夹 protobuf-go,然后在里面执行命令 go mod init github.com/solenovex/protobuf-go 这个命令是用来初始化go module的。 命令执行后在该目录生成go.mod文件,其内容如下: 其实直接执行go mod init 也行,默认会取当前文件夹的名字作为项目名。 如果你使用的是Goland,那么需要启用Go modules集成: 然后我们需要安装Protocol buffer的 Go 支持库: go get -u github.com/golang/protobuf/protoc-gen-go 安装好之后: 下面会出现require github.com/…. 后边显示indirect,说明我们的代码还没有对其进行直接引用 建立main.go,代码如下: 然后执行命令 go run main.go 如果输出 "hello world!" 就说明一切正常。 建立proto 在项目下建立src/first文件夹,在里面建立person.proto文件: 下面需要通过这个proto文件,生成go的代码,命令行执行: protoc --proto_path src/

go开发环境搭建

痞子三分冷 提交于 2020-04-06 05:11:48
1、安装goland,这工具比较好用 2、配置代理 3、配置sdk 4、配置git 注意一般第二步会忘记,特别提醒 来源: oschina 链接: https://my.oschina.net/u/2277392/blog/3216726

go 执行目录

放肆的年华 提交于 2020-03-25 21:43:08
3 月,跳不动了?>>> go 执行时当前目录的获取 package main import ( "fmt" "os" "path/filepath" "time" ) func main() { fmt.Println(filepath.Abs(".")) fmt.Println(os.Getwd()) dir, _ := os.Executable() exPath := filepath.Dir(dir) println(dir, exPath) time.Sleep(time.Second * 100) } goland中执行 可以看到GetWd获取的是当前工程目录, 而不是执行文件目录 goland会先build一个exe, 然后再在当前工程目录下'执行', 执行完毕删除, 所以在sleep的时候拷贝出来 在桌面执行, 默认的当前路径是命令行的执行目录, 所以为了保证相对路径的准确, 最好使用 os . Executable () 来源: oschina 链接: https://my.oschina.net/ahaoboy/blog/3211508