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
- 还有一些别的没有配的后续再看
本次就先水到这里了
参考:
- Elastic 技术栈之 Logstash 基础
- 备库CPU使用异常优化(r6笔记第73天)
- 数据清理的遗留问题处理(二)(r6笔记第91天)
- Kaggle Titanic 生存预测比赛超完整笔记(上)
- 多系统交互中DBA需要实现的技术细节(r6笔记第90天)
- Kaggle Titanic 生存预测比赛超完整笔记(中)
- SDP(11):MongoDB-Engine功能实现
- SDP(10):文本式大数据运算环境-MongoDB-Engine功能设计
- Kaggle Titanic 生存预测比赛超完整笔记(下)
- SDP(9):MongoDB-Scala - data access and modeling
- 数据清理的遗留问题处理(r6笔记第87天)
- 一次DB time抖动发现的expdp的bug(r6笔记第86天)
- Python中map函数
- 10g,11g中数据库静默安装中的细小差别(r6笔记第85天)
- 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 数组属性和方法
- 简单学习Android TextView
- Android 滑动返回Activity的实现代码
- centos7搭建hadoop2.10高可用(HA)
- 在 React 中实现 keep alive(可参与文末讨论哦)
- Android仿淘宝切换商品列表布局效果的示例代码
- android 右滑返回的示例代码
- 关于linux服务器hosts文件配置详解
- android中Glide实现加载图片保存至本地并加载回调监听
- CentOS8部署LNMP环境之编译安装mysql8.0.29的教程详解
- Android获取内置sdcard跟外置sdcard路径
- Android简易电话拨号器实例详解
- Linux 为特定的用户或用户组启用或禁用 SSH的方法
- Android 中IntentFilter的匹配规则实例详解
- Android VideoCache视频缓存的方法详解
- Android标题栏最右边添加按钮的实例