目录
当前位置: 首页 > 文档资料 > Go-Mega 教程 >

16-Summary

优质
小牛编辑
115浏览
2023-12-01

前两章部署之后,我们的程序其实就能顺利在服务器上运行,接受用户使用了

我们也终于来到了本系列的最后一章,让我们来总结一下

知识点

本系列教程使用 Go 语言从无到有实现一个类似初级版 Twitter 的 web网站,主要涉及到了以下的知识点:

  • 表单
  • 模板
  • 数据库
  • 路由
  • 登陆验证
  • MVC
  • 分页
  • Mail
  • 部署
  • Ajax
  • Jwt

与原教程 Flask-Mega 相比,我们主要少了 全文搜索Docker用户通知 这几个章节

  • 其中 Docker 对于 Go 程序来说还是很方便的,因为 Go 可以直接编译成二进制程序,所以一种写 Dockerfile 的思路就是先编译 然后 COPY 进 container 就行了
  • 全文搜索 其实是对 Elasticsearch 的依赖,其实 Go 也有响应的库支持,这里不引入只是一开始就只打算加一个数据库,不想涉及更多的依赖,增加程序的复杂性
  • 用户通知其实是对 Ajax 和 API 的更深入的一种实现,其实有了前面的知识,还是很容易能完成这个功能,如果说有点难度,只是 Go 的Template 没有Flask 那么灵活而已

总结

这是我第一次系统性地完成编写一套系列教程

由于有个Flask-Mega的模板在,在章节设计方面已经节省了好多时间,不过 代码 和 文字方面还是要花费不少的精力,基本上3天一章已经是极限(毕竟还是要上班养家糊口的)

通过编写这个系列教程,也算是我自己重新梳理了下知识结构,相信有这个教程在,也避免了我写完就忘的神奇特性(以前也写过好多程序,过段时间回首,知识剩下的就不多了)

好记性不如烂笔头,写下来方便自己,如果还能方便他人,那真的是再好不过了。

最后更新:

类似资料

  • Go!

    Go! 是一个 PHP 5.4 库,让 PHP 支持 AOP 面向方面编程方法,无需 PECL 扩展、Runkit、evals 或者 DI 容器支持。可使用 XDebug 轻松调试。 示例代码: // Aspect/MonitorAspect.phpnamespace Aspect;use Go\Aop\Aspect;use Go\Aop\Intercept\FieldAccess;use Go\

  • 命令go vet是一个用于检查Go语言源码中静态错误的简单工具。与大多数Go命令一样,go vet命令可以接受-n标记和-x标记。-n标记用于只打印流程中执行的命令而不真正执行它们。-n标记也用于打印流程中执行的命令,但不会取消这些命令的执行。示例如下: hc@ubt:~$ go vet -n pkgtool /usr/local/go/pkg/tool/linux_386/vet golang/

  • 命令go fix会把指定代码包的所有Go语言源码文件中的旧版本代码修正为新版本的代码。这里所说的版本即Go语言的版本。代码包的所有Go语言源码文件不包括其子代码包(如果有的话)中的文件。修正操作包括把对旧程序调用的代码更换为对新程序调用的代码、把旧的语法更换为新的语法,等等。 这个工具其实非常有用。在编程语言的升级和演进的过程中,难免会对过时的和不够优秀的语法及标准库进行改进。这样的改进对于编程语

  • Pact Go的版本目前支持Pact v2规范,访问网站开始学习。 Go-Kit例子 Pact Go代码库中有一个详细的Go Kit 例子,介绍如何使用Pact去测试Go Kit微服务。 原生Go实现 还有一个Go版本的Pact(兼容pact v1.1),不需要运行一个守护进程。如果你不需要v2+的匹配以及运行守护进程,可以考虑使用或者为Pact Go贡献。

  • Panic表示的意思就是有些意想不到的错误发生了。通常我们用来表示程序正常运行过程中不应该出现的,或者我们没有处理好的错误。 package main import "os" func main() { // 我们使用panic来检查预期不到的错误 panic("a problem") // Panic的通常使用方法就是如果一个函数 // 返回一个我们不知道怎么处理

  • 使用os.Exit可以给定一个状态,然后立刻退出程序运行。 package main import "fmt" import "os" func main() { // 当使用`os.Exit`的时候defer操作不会被运行, // 所以这里的``fmt.Println`将不会被调用 defer fmt.Println("!") // 退出程序并设置退出状态值