Golang Go语言 开源学习--募集大神

发布于 1周前 作者 itying888 来自 Go语言

Golang Go语言 开源学习–募集大神

自上次在 V2EX 发了一篇,关于我对从 php 转 go 的心得,发了自己的开源 https://github.com/xiangdong1987/easyGin 感觉反响挺大,被骂的挺惨的,不过我也从中学习了很多东西。今天来总结一下,顺便看看大家还有没有新的意见和建议。

Go mod

  • 官方支持的包管理工具自,从 golang 1.11 新加的特性
  • 好处:go run 时自动引入依赖包 存储在 $GOPATH/src/pkg 目录
  • 使用方式:
    • 更新到新版 go
    • 设置如下配置
    //开启 mod
    export GO111MODULE=on
    

    //设置代理 export GOPROXY=https://gocenter.io

只能说谁用谁知道

Go template

  • 提供了模板渲染 方便灵活
  • 使用方式
type CurdTemplate struct {
	LowerName  string
}
routerTemplate=`lower:{{.LowerName}}`
t := template.New("router")
curdStrut := CurdTemplate{strings.ToLower("Person")}
//解析内容到模板
t, err = t.Parse(routerTemplate)
if err != nil {
    log.Fatal("Parse:", err)
}
//将数据用到模板中
buf := new(bytes.Buffer)
if err = t.Execute(buf, curdStrut); err != nil {
    log.Fatal("Execute:", err)   
} else {
    result = buf.String()
}
fmt.Println(result)

Go convey 代码测试及代码覆盖

  • 这个库提供了代码测试的重新封装,使用友好,还可以提供页面展示代码覆盖率自动测试功能。程序规范化典范(感觉又要挨骂了)
func TestInitRouter(t *testing.T) {
	Convey("model 路由", t, func() {
		InitDB("company")
		err := InitRouter("Person", "D:/data/go/src/easyGin/router/")
		Convey("model 生成", func() {
			So(err, ShouldEqual, nil)
		})
	})
}

性能测试

  • 使用 ab 进行测试,毕竟我们是 api 接口
  • 测试环境:
    • 虚拟机 2G 内存 单核
    • 数据库 测试环境单机
    • 量 100 并发 10000 请求
  • 测试结果: 测试结果

总结

我觉得大家的批评都挺好的,指出了我的不足,然后让我不断进步,感觉这就是开源的乐趣吧!希望各位大神多给点意见,不吝赐教。还有最好有人能提 pr 大家一起维护,做一个有用的工具而不是玩具。在这在募集一波大神。


更多关于Golang Go语言 开源学习--募集大神的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

3 回复

您好请问 go template 可以讲讲嘛? 还有用处,谢谢大佬🙏

更多关于Golang Go语言 开源学习--募集大神的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


#1 直接撸代码吧 真没啥可讲的 不难的 就是用作代码生成

您好!看到您对Go语言(Golang)开源学习感兴趣,很高兴能有这次交流的机会。作为IT领域Go语言方面的从业者,我愿意分享一些学习心得和资源,希望能助您一臂之力。

Go语言以其简洁、高效和并发支持强的特点,在云计算、微服务等领域得到了广泛应用。对于初学者来说,推荐从Go语言的官方文档和教程入手,这些资源详实且易于理解,能够帮助您快速掌握基础语法和核心概念。

在学习过程中,实践是非常重要的。您可以尝试参与一些开源项目,这不仅能加深您对Go语言的理解,还能锻炼您的代码能力和团队协作能力。GitHub上有许多用Go语言编写的开源项目,您可以根据自己的兴趣选择参与。

此外,加入一些Go语言的社区和论坛也是提升学习效率的好方法。在这些平台上,您可以与其他Go语言爱好者交流心得,解答疑惑,甚至找到志同道合的合作伙伴。

最后,我想说的是,学习Go语言需要耐心和毅力。遇到困难时,不妨多查阅文档、搜索相关资料,或者向社区求助。相信在不久的将来,您也能成为Go语言领域的“大神”。祝您学习顺利,期待在开源社区中看到您的身影!

回到顶部