设为首页 收藏本站
查看: 1071|回复: 0

[经验分享] 来自朝鲜的问候 golang入坑系列

[复制链接]

尚未签到

发表于 2018-9-20 11:20:50 | 显示全部楼层 |阅读模式
鸿渐于陆
  本想着写满十八式,但按照目前的进度来看,是很难凑够十八式了。所以还是那句话,量力而行,适可而止。能写多少就写多少,我没法保证看完这本golang脱口秀,一定能成为golang大拿。但入了门,能自力更生开始写golang段子应该差不多。
  技术这点事,说破天就是熟练工。一个知识点,一次不懂,就看两遍。两次不行,就来三遍。熟能生巧,巧能夺天。多少个大牛也是从一行一行代码中走过来的。毕竟像李一男这样开挂的技术太少了,绝大多数的coder生涯还是依靠代码量堆砌起来的。
  我还在上大学的时候,计算机课程分为量大专业方向:理论研究和应用实践。理论研究就是研究各种算法原理,偏向于数学。应用实践则偏向于想法落地,也就是编码实现。那会总觉得写代码是一件非常有挑战性和有前途的事情,而研究算法,枯燥无聊,没有出路。
  10年之后,我错了。
  写代码的永远是民工,只不过是稍微高级一丢丢儿的民工。研究算法的,终归是比民工高级的金领级民工。在IT程序员这行,牛逼的算法不好找,写代码的程序员一大堆。所以算法最终要比代码重要。
  多少次,想从写代码转行到研究算法,但总以失败而告终。原来有些债欠了就永远没机会去还了。人生能有几个10年,一个十年已然逝去,下个十年悄然到来。用了十年的时光,才明白数学不是摆设。难不成还需要再用一个十年来弥补这个过错?
  或许弯道超车这四个字仅限于纸面之上,而现实却已经永远丧失了超车的机会。有些机会丧失了就是真的丧失了,机会是为有准备的人来准备的,但为了这个准备,你又需要很长时间的准备。厚积薄发,可能就是这个意思吧。
  对于程序员来说,很多人都是这是一个青春饭。放到以前,我会嗤之以鼻,莞尔一笑。但现在我发自内心的表示认同,中国是没有程序员情怀的。中国的程序员黄金时间是在25~32岁,这段时间,可以尽情的加班,尽情的熬夜,尽情的迸发灵感,尽情的肆无忌惮。而一旦过了黄金时间的程序员们,就需要考虑养家,需要考虑生活,需要考虑和同龄人之间的财富差距也需要考虑自己下一代的未来。精力有限,家庭慢慢占据了精力的大头。对待编码,纵然还有十分的热情,但已经无法奉献五分的精力。
  如果旁边又有一群优越的同龄人在刺激你,那种滋味着实的难受。
  不是故意贬低程序员这份职业,而这是实实在在的社会困境。而这个问题,以前总是刻意回避,但现在已经无法逃避。对于这个问题,每个人都有自己的答案。毕竟路是自己选的,再苦再累也要走下去。

来自朝鲜的问候
  今日在看这本书的数据统计时,发现了居然有一个来自朝鲜的UV,一时激动特意拍照留念
DSC0000.jpg

  为了纪念这个特殊的时刻,本节特意取名。也不知道是朝鲜哪位兄台访问此本书,从PV上面来看只点击了10次,估计八成是看不懂中文,随便点了点就走了。 但对于我来说,这个UV却显得弥足珍贵。也不知道这位用户是"革命武装力量的最高领导人"的哪位亲戚好友,如果能看到这篇文章,可否引荐一下?(이 사람이'혁명 무장 역량의 최고 지도자'라고 할 수 있는 어느 친척인 데,이 글을 볼 수 있 다면, 추천을 받을 수 있 을지도 모 른다.)
  话说回来,技术无国界。我们一衣带水的邻居想学点技术怎么了?想看点入门教程又怎么了?你们那里招聘Golang工程师不?我可以在家办公,远程帮助你们解决问题,冲着这份伟大的国际友谊,我都不好意思提钱的事情,您看着给!(당신들은 Golang 엔지니어를 채용 합니까?나는 집에서 일 할 수 있고, 장거리도 너희들에게 문제를 해결하고,이 위대 한 국제적인 우정을 가지고 있 는데,나는 돈을 말 할 수 없는 일을, 당신이 바라 보고 있다!)
  谢谢有道词典,把我的意思翻译的八九不离十,除了有道,暂时没有好用的翻译软件了,只能忍之再忍。如果你也想参与到这场伟大的技术革命浪潮中,留个联系方式给我。等哪天金正恩同志召唤我了,我再组团召唤你们。为了革命!我们时刻在准备着(혁명을 위하여!우리는 항상 준비하고 있다.)。朝鲜朋友看到这里就可以了,下面我要写golang了。
  我的风格一向是想到哪里,就写到哪里。前几天在写程序的时候,有一段死循环了。仔细看了看,是递归算法的退出条件有问题了。这节就先说递归吧。

递归
  简单来说,递归就是重复调用同一个函数过程来解析相同的问题。转换成人话,就是自己调自己。伪代码如下:
  

func recursion() {  recursion()
  
}
  
func main() {
  recursion()
  
}
  

  大多数程序语言都支持这种调用方式,使用递归时,一定要注意退出条件,否则就会跟我一样,出现死循环!因为递归属于算法中的一种,按道理来说应该是放在算法书中讲解最好。所以就用一个例子来提醒所有使用递归的人,一定要注意退出条件!
  

package main  

  
import "fmt"
  

  
func fibonaci(i int) (ret int) {
  if i == 0 {
  return 0
  }
  if i == 1 {
  return 1
  }
  return fibonaci(i-1) + fibonaci(i-2)
  
}
  
func main() {
  var i int
  for i = 0; i < 10; i++ {
  fmt.Printf("%d ", fibonaci(i))
  }
  
}
  

  上面两个if就是用来判断退出条件的。如果退出条件,写得好,递归就不会出现问题。在我的死循环案例中,是在if环节,用来判断两个变量类型是否一致时出现了问题,导致永远是false,因此死了循环%>_

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-598800-1-1.html 上篇帖子: golang 基础学习 下篇帖子: 分水岭 golang入坑系列
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表