【Golang】开发环境设置〜HelloWorld直到

我开始学习并熟悉Golang,因为明年在新工作中要用到它。

另外,我对golang的学习主要以《入门Go语言》(作者:松尾爱贺)中所述为基础进行推进。

0. Golang 是什么?

Go 是一种开源编程语言,使得构建简单、可靠和高效的软件变得容易。

(来自golang.org的公式)

製作者

谷歌是由Google公司开发,在2009年进行发布的。

(2) 特点

将其编译为本地代码。

在不使用像Java这样的虚拟机来弥补各个执行环境的差异的情况下,使用原生码生成执行文件。
→ 从执行速度的角度来说是有优势的。

在多个平台上运行

在标准的开发环境下,几乎无需考虑操作系统或CPU的差异,可以开发适用于任何平台的程序,这将在开发成本和可维护性方面带来优势。

对操作系统的独立性

Go语言本身具有标准库所具备的功能,甚至不依赖于各个操作系统所拥有的标准库。因此,可以实现与操作系统和库的类型以及变化无关的开发。

④垃圾收集员

通过支持垃圾收集器,可以预防可能发生的内存操作问题。

经过一番调查,我发现垃圾收集器也有其深奥的世界。据说Go语言的垃圾收集器既简单又实用,如果有机会,我也想进一步探索这方面的内容。

同时进行处理

利用「channel」和「goroutine」,可以实现简单、安全和高效的并发编程。
* 在目前阶段,我还无法完全理解这一点,但在之后的学习中会深入挖掘。

顺便提一句,关于并行处理和并发处理

并列计算即同时进行多个计算任务的技术。

1. 设备开发

苹果操作系统高山猫 (版本10.14.6) 的MacbookPro

2. 系统环境的建立

由于已经设置了Homebrew,所以我将使用homebrew命令安装golang的包。顺便说一下,根据上述书中的说明,下载并执行官方的包文件的方法在我这里会因为找不到go命令而失败,所以我觉得重新通过Homebrew安装更方便。


$ brew install go

关于IDE,我们在这里先不使用它继续进行。
如果向新工作咨询,你可以问到他们使用什么,但是现在我们决定使用平时常用的编辑器(cotEditor)来进行源代码编辑。

请使用支持 UTF-8 编码的编辑器!

只要安装了包和有文本编辑器,似乎就可以进行golang开发。但是由于golang仅限于使用utf-8编码,因此所使用的编辑器必须至少具备这一点。

你好世界。

(1) 简约的酱汁 de


package main;

import (
    "fmt"
);

func main() {

    fmt.Println("Hello World!");

};

(2) 进行


$ go run helloworld.go

(3) 输出结果


Hello World!

4. Golang的约定

(1)入口点

在Golang中,程序的入口点(即程序开始执行的地方)被规定在main包的main函数中。

(2) 包裹

在Golang中,每个源文件只能包含一个包,并且只能在一个包中进行声明。
如果想要创建另一个包,则需要分开文件。
相反,如果是同一个包,则可以将其组合到一个文件中。
(即使在同一个包中,也可以分开成不同的文件)

(3)导入

在Golang中,如果存在未被引用的包引入,将会出现编译错误。

然而,通过不进行包引用检查的写法(_(下划线) 包名称),也可以避免此错误。


package main;

import (
    /* 参照チェックなしのimport */
    _ "fmt"
);

func main() {
    /* 何もしない */

    /* でもコンパイルエラーにならない */
};

在中文中本地化以下句子,只需提供一种选择:
(4) 评论

在Golang中,可以使用/*注释*/或//注释的方式来编写注释。
然而,在注释中不能编写注释,这会导致编译错误。在注释中编写行注释是可以的。


package main;

import (
    "fmt"
);

func main() {

    print("sample");

    /* コメント

     /* コメント内のコメント <- エラーになる */

     */


    /* コメント

     // 行コメント行ならOK

     */

};

当选项中有突出显示时,很容易看出外部评论的结束点与起始点没有连接。

(5) 分号

在Golang中,可以在行末加上分号,但由于其”全部都是可省略的”,因此,可以将在2.(1)中所述的源代码以以下方式进行编写,同样也能正常运行。


package main

import (
    "fmt"
)

func main() {

    fmt.Println("Hello World!")

}

作为一个习惯了在Swift中不写分号的人来说,我对这个语言规范感到非常感激。

一旦到这里。

由于学习进展顺利,我将持续进行追加及发布新的文章。

bannerAds