这是一个暑假参加了字节跳动的青训营,一直都很关注着字节跳动 希望可以有机会去字节跳动实习,感受一下公司的体制以及字节的能力 更希望可以以后在字节跳动工作并展现一下自己的能力通过这次青训营呢我学习到了Go语言的知识 作为一名本科生软件工程专业 学习过C语言和java接下来也会学习Python 想自学一下C++但通过对比Go相较下来确实很简单 容易上手 想要新学一门语言的可以尝试一下Go 我是想多学习一些语言 掌握的能力多一点 想更全面一点 我的大一生活结束了 总的来说 如果能得到青训营的结业证书 我的大一生活就圆满了 大二我会去参加一些实习来不断完善自己的能力 去见识一下真正的程序员是怎么样工作的 他们的能力如何 虽然学校大二会学习前端知识 可我自身对后端也比较感兴趣 我相信能者多劳 能力越大价值越高 不断完善自己充实自己才是最重要的 为什么现在的大厂逐渐都愿意使用Go语言呢?Go语言的特点它能长期保持简单性、稳定性和健壮性。Go语言保证了既能到达静态编译语言的安全和性能,又达到了动态语言开发速度和易维护性,有人形容Go语言: Go = C + Python , 说明Go语言既有C静态语言程序的运行速度,又能达到Python动态语言的快速开发。 Go 的标准库高效、简洁、正确地实现了丰富的网络协议,并巧妙地结合了协作/抢占式多任务处理模型,因此使用 Go 编写可扩展的互联网软件非常容易。Go语言有以下特性:1. 自动垃圾回收 C/C++最头疼的就是指针问题,一不小心就野指针了或者又越界了。在Go语言里再也不用担心,也不用考虑delete或 者free,系统自动会回收。 2. 函数可以返回多个值 这个很神奇,大多数语言只能返回一个值,Go语言可以返回多个值。这个功能使得开发者再不用绞尽脑汁的想到底 怎么返回值的设计,也不用为了传值专门定义一个结构体。 3.并发编程 Go语言天然并发,只需要关键字“go”就可以让函数并发执行,使得并发编程变得更为简单,这也是Go语言最大的优势。 4. 没有依赖地狱, 甚至是glibc 5. 编译一次,随处拷贝,部署极为方便 简单易学 Go 语言简单易学,学习曲线平缓,不需要像 C/C++ 语言动辄需要两到三年的学习期。Go 语言被称为“互联网时代的C语言”。Go 语言的风格类似于C语言。其语法在C语言的基础上进行了大幅的简化,去掉了不需要的表达式括号,循环也只有 for 一种表示方法,就可以实现数值、键值等各种遍历。 2、代码风格统一 Go 语言提供了一套格式化工具——go fmt。一些 Go 语言的开发环境或者编辑器在保存时,都会使用格式化工具进行修改代码的格式化,这样就保证了不同开发者提交的代码都是统一的格式。 3、原生支持并发 Go语言是一种非常高效的语言,从语言层原生支持并发,使用起来非常简单。Go语言的并发是基于 Goroutine 的,Goroutine 类似于线程,但并非线程,是Go语言面向线程的轻量级方法。创建 Goroutine 的成本很低,只需几千个字节的额外内存。 4、开发效率高 Go语言虽然是一门编译型的语言,但是它内置了垃圾回收机制,降低了开发者的心智负担,使其拥有像Python、PHP等解释性语言的一样的开发效率。真正实现了开发效率和执行效率的完美结合。 5、自由高效 Go语言的编译速度明显优于 Java 和 C++,还拥有接近C语言的运行效率以及接近 PHP 的开发效率,可以说Go语言将运行效率和开发效率进行了完美的融合。同时,Go语言还支持当前所有的编程范式。开发者们可根据需求自由组合。 6、强大的标准库 Go里面的标准库非常稳定并且丰富多样,包括网络、系统、加密、编码、图形等各个方面。 7、稳定性强 Go语言拥有强大的编译检查、严格的编码规范和很强的稳定性,此外Go语言还提供了软件生命周期(如开发、测试、部署、维护等)的各个环节的工具。 8、部署方便 不需要使用虚拟机,Go语言的代码可以直接输出为二进制可执行文件。而且Go语言拥有自己的链接器,不依赖任何系统提供的编译器和链接器。 9、垃圾回收 在使用Go语言进行开发时,在内存方面开发者只需要关注内存的申请即可,并不需要关系内存的释放,因为Go语言内置了 runtime 来自动进行管理。 这次的青训营真的感受很多 希望他也会成为我大一最靓丽的一笔