• 猿创征文|我的Go成长之路道阻且长


    猿创征文|我的Go成长之路道阻且长

    自从2016年09月04日加入CSDN,已经整整六年了,回顾自己不太长的技术成长之路(毕竟还是00后),前前后后捣鼓过网络安全、人工智能、区块链、舆情分析。可以说是东一榔头西一棒,至今一事无成。

    我学习Go语言还是得感谢我的指导老师,她带我接触区块链,带我阅读区块链的专利文档,让我对区块链产生浓厚的兴趣,同时也了解了Go语言。

    🐨 我在CSDN与Go的故事

    我第一次接触Go语言是在2021年寒假期间,在2021年1月23日晚上我搭建了Go语言的开发环境。我是JetBrains的忠实粉丝,使用的开发工具自然也是Goland。当晚我就整理发表了一篇Go语言的博客:【Go】【GoLand 2020.3.1 x64】Go语言环境的的搭建及运行HelloWorld程序_ReganYue的博客-CSDN博客

    搭建好环境,应该和一般的人学习路径不一样,我没有马上学习语法,而是直接奔着Go的密码学库去学习,也在CSDN输出了博客:【密码学】【Go】详解DES-CBC模式_ReganYue的博客-CSDN博客_cbc模式的des

    【Go】【密码学】【Day01】对字符串进行简单加解密_ReganYue的博客-CSDN博客

    彼时是1月24日,也就是我搭建好Go开发环境的第二天,我照猫画虎编写了几个简单的加解密程序,加上之前对Java、Node.js、C、Python等基础语法的掌握,大概能对Go语法有一些简单的猜测。但是密码学学起来确实很吃力,学了一个星期就学不下去了。我开始学习Go的基础语法,期间在CSDN也输出了几篇博客。彼时正逢情人节,CSDN举行了2021情人节主题征文,我壮着胆子写了一遍博客参赛,没想到居然获奖了:【2021情人节主题征文】和女朋友一起玩猜数字游戏吧!_ReganYue的博客-CSDN博客

    之后2月份我不停学习,defer、闭包函数、二级指针、Map映射、Strings包、命令行参数、类库复用、面向对象、文件操作、JSON库、异常处理、Go并发操作… 不停学习,也在不断进步。

    今年7月份在CSDN发表《Go-Excelize API源码阅读》系列,系列文章多次上榜CSDN每天值得看、CSDN一周精选,受到了大佬的打赏。特别是该系列作品还受到了Excelize作者的关注与肯定,让我备受鼓舞。

    🐈我在开源社区与Go的故事

    2022年7月份,我参加了WeOpen Star,一个开源活动。

    image-20220828144619342

    最开始是给Beego的一个issue优化注释:

    image-20220828144827692

    我将几个包的注释不符合规范的全部修改了一遍,收到邮件被合并的那一刻真的是很开心,开源的快乐真的就这么简单~

    image-20220828150044938

    接下来就是把精力全部投入到Excelize的源码阅读之上了,未来打算在这上面投入多一些时间。

    在今年七八月份,我基本上平均每隔几天都有阅读Excelize的代码,并试图解析代码,带领大家一起阅读代码。

    image-20220828150427688

    至今已经在CSDN发表二十二篇原创Excelize API源码阅读博客。可以说从中学会了很多很多,比如:

    在这里插入图片描述

    上面这种从数组中去掉一个元素的方法。

    还有下面这种方法:

    	if _, err = os.Stat(picture); os.IsNotExist(err) {
    		return err
    	}
    
    • 1
    • 2
    • 3

    上面这种方法检查文件路径的图片是否存在。

    这种方法可以说比较巧妙了,看能不能获取picture的文件信息,如果不能就会报错,然后看报错。
    这个os.Stat()返回的err比较特别:

    1、如果返回的错误为nil,说明文件或文件夹不存在或者没有权限
    2、如果返回的错误类型使用os.IsNotExist()判断为true,说明文件或文件夹存在
    3、如果返回的错误为其它类型,则不确定是否在存在

    总之在源码阅读的过程中,感到受益匪浅~

    🔑 Go与我的生活

    你可以会不相信,嘿,真能吹,Go还能和你的生活有关。哈哈哈,可以说是勉强凑个相关吧。应该也和开源有关,因为我使用Go语言开源了一个针对我的学校义工时系统的爬虫工具,只要知道学号的范围可以批量获取全校所有学生的义工时信息。

    写这个工具时,正在学Python的爬虫,我想能不能用Golang也写一个小爬虫呢,经过一上午的捣鼓,终于在吃午饭前捣鼓成功了。

    还有就是前一段时间CSDN送我的一本《Go程序员面试笔试宝典》,这段时间天天晚上睡觉前都要看上十几页,令人爱不释手。

    在这里插入图片描述

    希望能和Go语言一起走下去吧!

    道阻且长,

    行则将至…

  • 相关阅读:
    2022字节跳动Byte Camp夏令营:53所国内外高校学员云端完成24个项目
    8.cuBLAS开发指南中文版--cuBLAS中的cublasGetMatrix()和cublasSetMatrix()
    华为ModelArts分布式训练教程
    SpringBoot基础之声明式事务和切面事务和编程式事务
    Nvidia GPU 入门教程之 10 如何通过TensorFlow Datasets 下载海量数据集?
    驱动比例多路阀控制器
    Java --- SpringMVC配置拦截器
    “react“: “^16.14.0“,打开弹窗数据发生变化
    基于SpringBoot的冬奥会科普平台
    编写 bzt 脚本的正确姿势
  • 原文地址:https://blog.csdn.net/qq_36045898/article/details/126570405