首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
GO基础
Montos
创建于2021-07-06
订阅专栏
GO语言基础入门
等 1 人订阅
共16篇文章
创建于2021-07-06
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
如何在Github上提交PR流程 | Go主题月
在开源项目里面发现问题或者发现不足之处,我们如何让开源项目拥有者知道这些呢,除了提issue之外,我们还可以提Pr!!
4.08 Go Web程序(7)|Go主题月
在我们的程序中有几个地方错误被忽略了。这是一种不好的实践,尤其是因为当错误发生时,程序将产生意想不到的行为。更好的解决方案是处理错误并向用户返回错误消息。这样,如果出现错误,服务器将按照我们希望的方式运行,并通知用户。 http.Error函数发送指定的HTTP响应代码(在本例…
4.07 Go Web程序(6)|Go主题月
注意,我们在两个处理程序中使用了几乎完全相同的模板代码。让我们通过将模板代码移动到它自己的函数中来删除这个重复: 上面实现了两个页面的跳转等等,如果此时请求一个不存在的页面,我们该如何去做处理?我们就需要设计下如果请求到一个不存在的页面,我们该如何去做处理。 页面标题(在URL…
4.06 Go Web程序(5)|Go主题月
html/template包是Go标准库的一部分。我们可以使用html/template将html保存在一个单独的文件中,允许我们在不修改底层Go代码的情况下改变编辑页面的布局。 让我们创建一个包含HTML表单的模板文件。打开一个名为edit.html的新文件,并添加以下行: …
4.05 Go Web程序(4)|Go主题月
接下来创建一个处理器,该处理器主要处理用户访问请求,该处理器前缀为/view/。 同样,请注意使用_来忽略loadPage的错误返回值。这里这样做是为了简单起见,通常被认为是不好的做法。我们以后再讨论这个问题。 首先,这个函数从r.URL中提取页面标题。路径请求URL的路径组件…
4.04 Go Web程序(3)|Go主题月
main函数以对http的调用开始。HandleFunc它告诉http包使用handler处理所有到web根目录("/")的请求。 然后调用http.ListenAndServe,指定监听任意接口的8080端口(:8080)。(现在不必担心它的第二个参数nil。)此函数将阻塞,…
4.03 Go Web程序(2)|Go主题月
loadPage函数从title参数构造文件名,将文件内容读入新的变量体,并返回一个指向用适当的title和body值构造的页面文字的指针。 函数可以返回多个值。标准库函数io。ReadFile返回字节数组和错误。在loadPage中,错误还没有被处理;由下划线(_)符号表示的…
4.02 Go Web程序(1)|Go主题月
创建项目目录。 创建出对应的主文件wiki.go。 让我们从定义数据结构开始。wiki由一系列相互连接的页面组成,每个页面都有一个标题和正文(页面内容)。这里,我们将Page定义为一个具有两个字段的结构体,分别表示标题和正文。 byte[]字节表示a byte slice。(有…
4.01 Go 编译并安装应用程序|Go主题月
go build 命令编译包及其依赖项,但不安装结果。 go install 命令编译并安装这些包。 从hello目录中的命令行,运行go build命令,将代码编译为可执行文件。 执行之后,我们发现文件夹下面多出了一个可执行文件。 寻找Go安装路径,Go命令将安装当前包。 将…
3.31 Go 测试模块|Go主题月
在greetings目录中,创建一个名为greetings_test.go的文件。 编写对应greetings_test.go文件。 在与测试代码相同的包中实现测试函数。 创建两个测试函数来测试问候语。测试函数名的形式为TestName,其中Name表示关于特定测试的一些信息。…
3.30 Go 多问候语模块|Go主题月
如果直接修改greetings模块方法,则会影响到外部调用的模块hello。也即是第三方依赖你的代码会出现方法调用错误的情况,那么此时我们就不能直接修改原有方法,我们需要新增一个新的函数,可以理解为重载,便于当前代码向后做兼容。 添加一个Hellos函数,它的参数是一个slic…
3.29 Go 随意问候语模块|Go主题月
想要做到随机问候语返回,我们需要首先了解到Go slice,它就像一个数组。只是它的大小会随着添加和删除项而动态改变,slice可以说是Go中最有用的类型之一。 添加一个randomFormat函数,它返回一个随机选择的欢迎消息格式。注意,randomFormat以小写字母开始…
3.28 Go 处理错误格式入门|Go主题月
处理错误是可靠代码的一个基本特性。接下来通过添加一些代码来从greetings模块返回一个错误,然后在调用者中处理它。 函数返回值数目增加。(调用者可以通过第二个值进行判断是否发生错误,详情见Effective Go) 导入Go标准库错误包。 增加条件判断,如果输入空字符串,则…
3.27 Go 模块入门|Go主题月
创建另外一个目录hello,需要跟上面的greetings模块保持同一层级。 继续使用模块跟踪命令跟踪当前模块依赖变化。 进行我们的hello.go代码编写。 首先声明该包为main包。(Go中运行代码入口必须声明在main包中) 导入两个包:fmt以及montos.com/g…
3.26 Go 模块入门|Go主题月
本章节内将会创建两个模块,第一个是被创建为一个库,可被外部调用依赖,第二个模块则使用第一个创建好的模块,进行调用。 创建一个模块 - 写出一个包含简单调用其他模块的模块。 从其他模块调用代码 - 导入并使用你的新模块。 返回并处理错误 - 添加简单的错误处理。 返回一个随机的问…
3.25 Go 入门教学|Go主题月
首先点击下载Go找到对应系统版本下载(本demo基于centos)。 到此为止,我们即完成了一个入门级本地的Demo。 访问pkg.go.dev并搜索quote包。 rsc.io/quote在搜索结果中,找到并单击该程序包。 记下可以从代码中调用的函数的列表。