结营感受(go) | 青训营

结营感受

截至8月30日,我完成了超过一个月的青训营学习过程.在计划阶段,我希望自己能开发第二门编程语言golang,由于之前已经系统学习了Java编程语言,我在一门开发语言的基本语法认识,如何理解编程思想(是面向对象还是面向过程),编译器内部内存管理,垃圾回收机制,web项目开发等方面有一定的经验.真正学习go语言后才知道go语言与Java语言在运行原理,项目开发中都有许多不同之处.接下来我将具体讲述.

1.go语言与java语言

go语言是一门开源的编程语言,拥有和Java项目的跨平台,自动内存管理,gc垃圾回收机制等优点.go语言有指针的功能可以像C语言一样完成函数的按地址传参,有时适当的使用指针可以极大的提高编程效率.

go语言还可以实现Java的面向对象的编程思想.go语言使用结构体存储变量,使用函数的返回类型绑定结构体构成方法,最后使用动态创建结构体的方式创建对象并调用方法.

go 复制代码
//声明变量
type Person struct {
    Name string
    Age  int
}

func main() {
    p := new(Person)
    fmt.Printf("%v\n", p) // &{ 0}
}   
//构造器
func NewPerson(name string, age int) *Person {
    return &Person{
        Name: name,
        Age:  age,
    }
}

以我来看,虽然go语言没有类的概念,不利于面向对象思想编程,但其简单的设计思想使它没有像Java一样臃肿的类库,比较适合小白上手.

2.项目设计

在整个学习过程中,我总结了go语言项目开发的整个过程.我们需要提前熟悉数据库语句,使用gorm框架操作数据库,之后使用rpc类型框架搭建项目整体(例如 kafka ),使用redis,es等中间件来完成性能调优(解决项目进程堵塞,锁竞争等问题),最终实现分布式系统的项目实施.此外,我们需要了解git团队开发项目.

我们选择了从基本的视频流功能开始设计,其中需要连接数据库,完成视频流接口,用户登录,用户注册,发布列表等接口设计.我认为最难的是从全局的角度充分认识项目结构,有时一些常规的操作不了解,很容易将项目调错.

总结

本次青训营即将进入尾声,目前我们的项目还存在许多漏洞,在剩余的时间里,我们会尽最大的努力完成抖音项目实施,给我们的青训营之旅画上完美的句号.

相关推荐
CallBack8 个月前
Typora+PicGo+阿里云OSS搭建个人图床,纵享丝滑!
前端·青训营笔记
Taonce1 年前
站在Android开发者的角度认识MQTT - 源码篇
android·青训营笔记
AB_IN1 年前
打开抖音会发生什么 | 青训营
青训营笔记
翼同学1 年前
实践记录:使用Bcrypt进行密码安全性保护和验证 | 青训营
青训营笔记
hu1hu_1 年前
Git 的正确使用姿势与最佳实践(1) | 青训营
青训营笔记
星曈1 年前
详解前端框架中的设计模式 | 青训营
青训营笔记
tuxiaobei1 年前
文件上传漏洞 Upload-lab 实践(中)| 青训营
青训营笔记
yibao1 年前
高质量编程与性能调优实战 | 青训营
青训营笔记
小金先生SG1 年前
阿里云对象存储OSS使用| 青训营
青训营笔记