如何写Go代码

本文详细介绍了如何在Go环境中编写代码,包括模块的组织、编写第一个程序、导入包、从远程模块导入以及测试代码的流程。通过实例展示了如何在Go中创建、构建和测试程序,帮助初学者上手Go语言。
摘要由CSDN通过智能技术生成

如何写Go代码

一、介绍

这篇文章演示在一个模块里面开发一个简单的Go包,并且介绍Go工具,标准的方法用于获取、构建、和下载Go模块,包和命令。

注意:这篇文章假设你正在使用Go1.13或更新的版本,并且GO111MODULE环境变量没有设置。

二、代码的组织

Go程序是被组织成包。一个包是在相同目录下的源文件集合,它们会被一起编辑。函数、类型、变量和常量是定义在一个源文件中,是可见对于在相同包下的所有其它源文件。

一个仓库包含一个或多个模块。一个模块是一个相关Go包的集合,它们将一起发布。一个Go仓库通常只包含一个模块,位于仓库的根目录。一个被命名为go.mod的文件声明了模块的路径:模块中所有包的导入路径的前缀。一个模块包含的包在包含go.mod文件的目录下,也包含目录下的子目录,直到下一个包含go.mod文件的子目录(如果有)。

注意:在你构建它之前,你不需要发布你的代码到远程仓库。一个模块能够被定义在本地不用归属于一个仓库。可是,组织你的代码就像你有一天会发布它一样是一个好习惯。

每个模块路径不仅作为包的导入路径的前缀,而且指明go命令应该去哪下载它。例如,模块github.com/google/go-cmp包含一个包在comp/目录下。这个包的导入路径是github.com/google/go-cmp/cmp。标准库中的包没有模块路径前缀。

三、你的第一个程序

为了编译和运行一个简单的程序,首先选择一个模块路径(我们将使用example/user/hello-write-go-code)并创建一个声明它的go.mod文件,

$ mkdir hello-write-go-code
$ cd hello-write-go-code/
$ ll
total 0
drwxr-xr-x   2 lifei  staff   64  9 18 11:01 ./
drwxr-xr-x  12 lifei  staff  384  9 18 11:01 ../
$ go mod init example/user/hello-write-go-code
go: creating new go.mod: module example/user/hello-write-go-code
$ ll
total 8
drwxr-xr-x   3 lifei  staff   96  9 18 11:02 ./
drwxr-xr-x  12 lifei  staff  384  9 18 11:01 ../
-rw-r--r--   1 lifei  staff   49  9 18 11:02 go.mod
$

Go 源文件中的第一条语句必须是包名。 可执行命令必须始终使用包 main。

接下来,在目录中创建一个文件,命名为hello.go,并包含下面的代码:

package main

import "fmt"

func main() {
   
  fmt.Println("Hello,world.")
}

现在,你能够使用Go工具构建并安装这个程序:

$ go install example/user/hello-write-go-code
$

这个命令,构建了一个hello-write-go-code命令,产生了一个可执行的二进制文件。它然后安装这个二进制文件在$HOME/go/bin/hello

$ ll ~/go/bin/hello-write-go-code
-rwxr-xr-x  1 lifei  staff  1854560  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值