使用Ruby转换至Go(类型:学习日记vol.1)
最近的情况汇报
我已经毕业于Tech Camp,并开始了就职活动。根据之前的文章,
– 对个人应用程序进行修正和功能增加
– 进行课程的练习
– 尝试新的事物(Docker和Go语言)
– 就职活动
我正在按照这些方向继续学习。个人应用程序的大致修正进展顺利。就练习方面,根据前辈的说法,它具有学校学费的一半的价值,所以我在继续进行。正则表达式等方面很有帮助,可以理解其中的空缺。我已经理解了Docker的意义并进行了安装和启动。环境配置还没有完成解码。关于Golang,稍后再谈。我这周有面试,我打算以轻松的心态去面对。
这次的故事
我开始学习Golang的原因是什么?
你现在在做什么?
发现备忘录(主要是关于在Ruby中没有遇到的事情)
我开始学习Golang的原因是什么?
因为其有势的语言
golang 是一个在 2009 年作为开源语言发布的语言,因其功能和速度而备受瞩目。最近的工程师也把它视为想要学习的语言之一,近年来,一些人似乎正在尝试将应用程序的一部分转换为 go,以提高处理速度。随着其受欢迎程度的增加,Golang 的需求也逐年增加,但由于能够处理 Golang 的工程师数量很少,所以在语言的工资水平上也位居前列(尽管企业所需求的是能够实践使用 Golang 的人)。
由于学习成本较低
正如某雜食系Youtuber所言,據稱學習成本低。由於削減了傳統的繼承等元素,追求簡潔性而產生的語言,因此相較於C或Python等語言,學習的量較少。此外,由於我在一定程度上了解Ruby,因此認為可以在尋找相似點的同時進行學習,相當容易入手。通過了解其他語言,也期望能以更廣泛的方式進行編碼。
应用范围
能够通过Go单独创建应用程序。然而,据说像Mercari这样的公司越来越多地将一部分应用程序改用Go语言来运营,这是因为起始时没有使用Go语言,但由于其启动速度和高速处理的优点,许多公司更倾向于选择Go语言而不是其他语言。我认为这样可以通过将主要部分使用Ruby构建,并在其中部分使用Go来展示作品集。
当然,我也对Python很感兴趣,但如果选择了和之前相似的Ruby语言,就可能会受到用途的重叠,无法一箭双雕。所以,我打算在就业时再学习Python语言。
我將始終以次要範疇的語言,而主要仍然是Ruby或企業需要的語言為立場,不會改變。
你现在在做什么? (Nǐ zuò ?)
・根据官方指南安装Go语言
・准备在VS Code中使用Go
・按照官方指南输出“Hello, World”
发现备忘录
你好,世界
package main
import "fmt"
func main() {
fmt.Println("hello, world!")
}
Go语言由简洁的语法和严格的规则构成,若违反规则就无法执行(将清楚地指出错误位置)。关于package的理解大致如下。
println 不是指 I(艾),而是指 L(艾勒)。
print Line 的缩写。
数字型
由于有严格的规则,Golang允许通过简单的语法进行驱动。在变量定义时,必须预先声明变量的类型。其中,数值类型存在Ruby中没有的表达方式,这一点相当让人头疼。
比特、浮点数、有符号整数
这是什么?实际上,我本想无止境地穿梭于文字之间,但这是基本的要素,所以就停下来吧!让我简单总结一下。
●浮動小数点:使用小数点表示的方法。例如,0.001可以表示为1.0*10^-3。在高中时看过这种表示方法,哈哈。
●有符号(无符号)整数:没有符号(如-或+)的概念的数字序列。二进制表示中不需要符号,例如0、1、10、11等。
●位(比特):事实上,计算机是通过区分0和1(开和关)的集合来工作的。一个组合就是一个比特。unit8表示单独8个比特,也就是无符号二进制数8位。unit16表示无符号二进制数16位。位数越多,可以处理更多的数字。
追加说明:函数延迟 2020年9月5日
~省略~
func main {
処理A
処理B
defer 関数C
処理D
~省略~
如果存在这样的处理,那么使用defer指定的处理将在整个处理完成后进行。
⭕️在所有处理都结束后最后执行
⇨如果在处理B中发生错误并且存在将文件关闭的处理D,则在错误后,处理将继续进行且文件仍然保持打开状态,导致程序无法回到执行前的状态。如果使用defer定义了关闭文件的处理,则即使发生错误,它也会执行关闭操作。
我会随时更新。