go2school-1
时间:2022-07-26
本文章向大家介绍go2school-1,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
我司大佬紫月苏最近在QCon上听了关于Go语言的洗脑报告,回来之后给各位普及了go的一些基本情况和未来发展,感觉大家兴致很浓,于是就在我司内部gitlab上开了一个新的repo,叫做go2school,也就是Go语言学习计划。又因为对Java实在无爱,然后妥妥的就加入了Go的大军。
下面是我司学习Go的Chapter 1. Grammer。具体就是阅读 Learn Go in Y minutes 学习基本语法。然后练习:
- 用 Go 语言实现一个计算斐波那契数列的函数,从标准输入读入 n, 从标准输出返回 f(n)。(递归版、循环版都要实现)
交作业
斐波那契数列的go语言实现:递归版和循环版
package main // it means this package is an executable file, not a repo
import "fmt" // import fmt standard package
// fib function, by recursive
func fibRe(n int) (m int) {
if n == 0 || n == 1 {
return 1
}
return fib(n-2) + fib(n-1)
}
// fib function, by loop
func fib(n int) (m int) {
if n == 0 || n == 1 {
return 1
}
var a, b, c int
a = 1
b = 1
for i := 1; i < n; i++ {
c = a + b
a, b = b, c
}
return b
}
// program entry
func main() {
var n, m int
fmt.Scan(&n) // read from stdin
m = fib(n)
fmt.Printf("m: %dn", m)
m = fibRe(n)
fmt.Printf("m: %dn", m)
}
感觉不错
在Learn Go in Y minutes这个网站上学习基本的语法感觉很nice,一个完整的用例中几乎廊括了所有的语法,看完基本语法找到斐波拉契数列开始牛刀小试了,感觉很不错。和之前写C++的感觉很像,一种熟悉的感觉。
一些问题
- 代码格式化
- Goland配置
代码格式化
Go语言的格式化感觉很nice,我就不喜欢每个人都有自己的独特的风格,再次鄙视一下那些喜欢用vim还不格式化代码的人,哈哈。个人还是比较同意有约束整体才更容易前进。
使用Goland这个IDE写Go时可以在preference中设置使用gofmt这个格式化工具。每次在保存代码的时候都会格式化,感觉很赞,这个体验比写C++好
GoLand配置
需要配置如下:
- GoROOT
- GoPATH
- 还有一些别的没有配的后续再看
本次就先水到这里了
参考:
- Centos6.9下RabbitMQ集群部署记录
- “AS3.0高级动画编程”学习:第三章等角投影(下)
- zabbix监控主机cpu达到80%后报警
- ssh登陆服务器locale告警的处理方法
- as3.0中如何阻止事件冒泡?
- Nginx+upstream针对后端服务器容错的运维笔记
- MongoDB日常运维操作命令小结
- flash builder代码格式化以及其它快捷键
- Repeater,DataList,DataGrid
- flash/flex builder在IE中stage.stageWidth始终为0的解决办法
- MongoDB集群运维笔记
- 水晶报表WEB方式下不打印的问题
- 针对负载均衡集群中的session解决方案的总结
- sliverlight:CompositionTarget.Rendering 的问题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 从0到1开发测试平台(十三)前后端接口token验证
- 如何使用PYTHON抓取新闻文章
- Open3d 学习计划—13(Azure Kinect)
- 头条面试题:计算目录树的深度
- /etc/passwd文件和/etc/shadow文件
- docker_进阶
- [前端] 设定为disabled的表单域值不能被提交
- 工厂方法模式
- 原创 | 这道题codeforces的简单题差点做了我一下午,你能解出来吗?
- OpenCV4 部署DeepLabv3+模型
- 使用OpenCV实现哈哈镜效果
- 如何使用OpenCV在Python中访问IP摄像头
- 分享我学习Pandas使用的资料,可能是新手入门Pandas最好的教程!
- 原创 | Git入门教程,详解Git文件的四大状态
- 原创 | ACMer不得不会的线段树,究竟是种怎样的数据结构?