Go语言KickStart——《Java程序员学习Go》之二

在本系列的第一篇文章《Go语言概览》中,对Go语言的发展历程,以及它的优缺点进行了介绍。本文作为《Java程序员学习Go》系列文章的第二篇,将从几个例子开始我们学习Go的旅程。

学习Go语言参考资料

  • 书籍
    • 《Go语言程序设计》,作者:Mark Summerfield
    • 《Go Web编程》,作者:谢孟军——beego作者
  • 官方文档
    安装好Go之后,使用如下命令,启动本地Go DOC服务

    godoc -http=:8080   
    

    然后在浏览器中键入http://localhost:8080来访问Go的官方文档

    • 社区
      GitHub里有很多非常好的Go开源项目,可以作为学习对象
      Golang中国
      其他社区可自行Google或Baidu

安装Go

  1. 下载并安装

    下载地址:https://golang.org/
    安装说明:https://golang.org/doc/install

  2. 设置环境变量
    至少要设置如下变量:

    GOROOT ——指向Go的安装目录
    GOPATH——指向自己创建的本地程序目录,即工作空间
    PATH——包含$GOROOT/bin
    
  3. 检查安装是否成功
    命令行中执行

    go version
    

    能够正常返回你所安装的Go的版本信息,则说明安装成功,如果没有正常显示,先检查PATH环境变量是否正确设置。

第一个例子,Hello World!

在你喜欢的路径下,按照下图创建目录及文件:
Go语言KickStart——《Java程序员学习Go》之二_第1张图片
其中各目录含义如图中所述。

hello.go源码如下:

//hello.go
package main

import (
    "fmt"
    "os"
    "strings"
)

func main() {
    who := "World!"
    if len(os.Args) > 1 {
        who = strings.Join(os.Args[1:], " ")
    }
    fmt.Println("Hello", who)
}

有些情况下,上面的代码块无法显示行号,为了照顾这种情况,截个图,方便大家查阅:
Go语言KickStart——《Java程序员学习Go》之二_第2张图片

对以上代码进行一个解释:

  • 第1行
    注释,和Java一样,均采用C++风格。//表示单行注释,/**/表示块注释
  • 第2行
    包名约定为小写字母,go以package为处理单元,Java以Class File为处理单元
    包名为main,会编译为可执行文件,否则不会
  • 第4-8行
    导入其他package,注意括号()和引号“”的使用
  • 第10-16行
    定义了一个函数,main函数是go程序入口,和Java一样
    即main.main()是可执行文件的执行入口
    函数体用花括号包围
  • 第11行
    “:=”快速变量声明,不必声明变量类型,Go会从初始值中判断变量类型
  • 第12行
    if条件语句,条件不带括号
    执行语句用花括号包围
  • 最后
    表面上用换行和缩进组织代码,但实际上以”;”区别语句,只不过是由编译器自动加上

使用go build编译,然后执行一下:
go build

当然也可以用另外一个命令 go install
Go语言KickStart——《Java程序员学习Go》之二_第3张图片

两种命令的不同,大家可以体会一下。

PS:吐槽一下,我习惯用MarkDown来编写博客文章,CSDN的博客恰好也支持MarkDown语法,这个值得表扬。但是我发现用MarkDown写的文章在PC端的格式可以正确显示,但是在手机APP上的显示是没有格式的,处于移动互联时代,这个缺陷不可原谅。(补充:现在再看,手机APP上显示MarkDown格式是正确的了)

你可能感兴趣的:(编程语言,GoLang)