go语言学习—启动go

一、说明

本文来自go官网的英文教程,我反正也是学,就翻译过来看了,顺便记录一下,中间可能穿插点小心得,原文来自go官网
在本教程中,我会简要给你介绍下go语言编程。通过本文,你能学到

  • 安装go
  • 写一个简单的“hello,word”代码
  • 使用go命令运行代码
  • 使用Go语言包发现工具去寻找你能使用在代码中的包
  • 调用外部模块的函数

二、准备工作

  1. 需要一些编程经验。虽然这里的代码非常简洁,但是它能帮助我们了解一些函数相关知识。
  2. 一个能够编写代码的工具。任何你拥有的文本编辑器都可以。大多数的文本编辑器都能很好的支持Go语言的开发。其中最受欢迎的有VSCode(免费),GoLand(付费)和Vim(免费)。
  3. 一个cmd命令终端。Go语言的运行可以使用Linux或者Mac的终端命令行,或者Windows的PowerShell或cmd。

下载Go

点击一键下载安装

三、编写代码

编写一段hello,word代码。

  1. 打开命令行提示,然后cd到你的主目录
    在Linux或者Mac中:
    cd
    在windows中:
    cd %HOMEPATH%
  2. 为你的Go源码创建hello文件夹
    例如,我们使用一下命令创建:
    mkdir hello
    cd hello
  3. 为你的代码开启依赖追踪
    当你的代码中导入了其他模块的包时,你可以通过你代码自己的模块来管理这些依赖。这些模块由go.mod文件定义,go.md文件主要用于追踪那些提供包的模块。go.md文件与你的代码放在一起,被包含在你的源码库中。(个人理解:类似java的Maven、python的conda、js的npm一样的东西)
    我们通过运行go mod init命令,然后给一个你接下来要编写的模块的名字来创建go.mod文件,从而为代码开启依赖追踪功能。这个名字为模块的路径。
    在实际的开发中,模块路径通常为你源码存放的地方。例如,如果模块路径为“github.com/mymodule”。如果你打算开源你的模块给别人用,模块路径必须是一个Go工具包能够下载你模块的位置。
    如果想看更多关于模块命名方面的东西,可以看管理依赖
    就本教程而言,就使用example/hello就行了。
		$ go mod init example/hello
		go: creating new go.mod: module example/hello
  1. 在你的文本编辑器中,创建一个hello.go的文件来编写代码
  2. 粘贴和保存一下代码在你的文件中
package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}
在本代码中,你进行了以下操作:
  • 声明了main包(包是一种对函数进行分组的方式,同时它由一个文件夹下的所有文件组成)
  • 导入了一个常用的fmt包,这个包包含了格式化文本的一些函数,如打印字符到控制台。这个包是一个你下载Go之后就拥有的标准包之一。
  • 实现了main函数来打印信息到控制台。当你运行这个包的时候,main函数会默认执行。
  1. 运行你的代码来观察结果
$ go run .
Hello, World!
go run命令是许多go语言完成任务的命令之一。使用一下命令可以获得命令列表:go help

四、访问外部包的代码

当你需要实现某些他人可能已经实现了的功能时,你可以去寻找那些你可以用的代码中的函数的包。

1.使用外部模块的打印信息会更有趣一点。(这里应该是作者想搞个外部的print函数做样例了)
  1. 访问pkg.go.dev然后搜索“quote”包。
  2. 在搜索结果中找到和点击 rsc.io/quote包(如果你看到了rsc.io/quote/v3,忽略它)
  3. 在文档中通过索引,找到可以调用的函数列表。你将会在之后用到它们。
  4. 在文章的顶部,请注意quote 包被包含在rsc.io/quote模块内。
    你可以使用网站:pkg.go.dev去找那些你想用在你代码中的公共模块的包。像rsc.io/quote 等包都被发布在模块中,从而使得其他人也可以调用它。模块是通过时间来提供新版本的,你可以通过更新你的代码来提升版本。
2.在你的Go代码中引入 rsc.io/quote包,并且添加函数调用
package main

import "fmt"

import "rsc.io/quote"

func main() {
    fmt.Println(quote.Go())
}
3.添加新的模块需求和总结(类似于python的requirements.txt文件吧)

Go将会把quoto模块作为依赖添加,以及将go.sum文件作为验证模块。更多信息可以查看验证模块

go mod tidy
go: finding module for package rsc.io/quote
go: found rsc.io/quote in rsc.io/quote v1.5.2

注意:如果出现连不上,下不下来的情况,十有八九就是被墙了,直接换源。

go env -w GOPROXY=https://goproxy.io,direct

4.运行你的代码来观察你调用的函数所打印的信息
go run .
Don't communicate by sharing memory, share memory by communicating.

这儿你的代码调用了Go的函数,打印了关于通信的巧妙信息。(原文就是这么写的,emmm,,可能是啥子俗语吧)
当你运行go mod tidy,他会定位和下载你所导入的rsc.io/quote模块。默认情况他会下载最后的版本–v1.5.2

五、更多

通过这篇快速介绍,你了解到了Go语言的下载,学到了一些基础知识。想要通过其他教程来写更多的代码,请查看创建Go模块

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值