技术学习总结 (二)| 青训营

64 阅读2分钟

前言

前面一章时对Go语言初探的一些感悟,我感觉学习一门语言,了解它的语法结构是必须的,因为很多种编程语言,比如Java、Python等,都有自己的一套规范,学习过众多语言,从C到C++,以致到后面的Python,再到现在的Go语言,我觉得语言这些都大同小异,重要的是它们各自不同的特性以及你使用的需求。比如拿这次的一个小demo来说——猜谜游戏 ,这是一个非常简单的算法,囊括了循环以及条件判断这些比较基本的语法。

算法初探

一开始获取用户的输入是第一道坎,不像以前c、c++一样随便输入一个scanf就完事,当然这些也可以用简单的函数方法来进行解决,不过一开始Go是用bufio流来获取os.stdin用户的输入,然后对获取的输入字符串进行去除换行符的操作,然后进行Atoi的操作,直至完全获取一个整型的输入,在编码的过程中还需要考虑到错误的处理,比如输入的不是数字,系统返回一个错误,使其具有更好的鲁棒性。写Go语言时常要注意异常的处理,像Java一样就是catch一个异常,抛出错误,直接跳出。这种if err的写法已经见怪不怪了。

第二个要说的就是随机数的生成了,这个非常有意思的一点是,Go生成随机数每次都生成一样的数,它需要用一个随机种子来生成不一样的随机数,这里我们用的是时间戳来生成的,这样的话通过调试可以发现现在每次都会生成不一样的随机数。

第三个是关于循环的问题,Go相较于其他语言不同的是在循环中命中条件会继续往下执行,除非遇到break跳出循环,这里就是在for循环中没有设置跳出条件,这是一个死循环(如果没有break的话)最后是在循环体中if else条件设置break跳出。

详细编码过程见笔记Go 语言工程实践课后作业 | 青训营 - 掘金 (juejin.cn)

小结

这篇写的不多,但这些都是学习Go的一些新的体会,当然对于大佬来说这些不过是小意思啦~,我作为一个初学菜鸟能教给大家的并不多,相反我还需要一些大佬的一些提点和指教,在码农这条路上还有许多未知的困难用挑战,一起加油吧,吼吼吼~~~