Ready,Set,Go!

前言 推荐一本从入门到放弃的Go语言书籍《Head First Go》,这个系列的教程我相对比较喜欢,曾经Python我也是用它来入门的,书名叫《Head first Python》,建议大家可以看英文原版,难度不高,还有图文结合,非常形象。 反正只要是想学啥都可以用Head first开头,比如:设计模式也是如此。 花了快一个小时从一个国外网站下载到了它的英文版本,简直高清无码啊!!咳 咳! 趁着睡觉前翻译一段。附件放pdf文件。 翻译 早在2007年,Google的搜索引擎团队遇到了一个问题,他们要维护成百上千万行代码,在测试新的特性时,他们不得不花费一个小时的时间来生成一个可以运行的程序。不用说,这样对开发人员的生产力来说相当的不友好。 所以谷歌的工程师Robert Griesemer, Rob Pike, 和Ken Thompson描绘出该语言要实现的目标为: 快速的编译。 更少的代码。 垃圾回收机制(大家都懂的) 易于同时执行多个操作(并发) 支持多核处理器 经过几年的开发,Google发布了Go:它是一门代码编写非常高效,编译和运行速度都非常快的编程语言。该项目于2009年进行了开源,现在每个人都可以免费使用它。建议大家来学习使用,GO是真的是棒到不要不要滴!!哦嚯~~~ 如果你要写一个命令行工具,使用Go可以在Windows,MacOS,和Linux系统中创建可执行程序而不需要修改代码,如果你正在写一个WEB服务器,它能帮你并发处理多用户连接,不管你要实现什么功能,它能确保你的代码编写简单而且易于维护和扩展,简直牛逼克拉丝(简直自信心爆炸啊) 原文 Back in 2007, the search engine Google had a problem. They had to maintain programs with millions of lines of code. Before they could test new changes, they had to compile the code into a runnable form, a process which at the time took the better part of an hour. Needless to say, this was bad for developer productivity. So Google engineers Robert Griesemer, Rob Pike, and Ken Thompson sketched out some goals...
阅读全文
golang

使用golang开发一个windows下sshclient.exe

上一篇文章写了如何在Linux下开发一个sshclient命令行,本次我们回到Windows下来,因为golang是跨平台的,所以我们只需要设置下Windows下的环境变量,其它指令可不变。 一、安装golang 下载Windows安装包 原始链接:https://dl.google.com/go/go1.15.6.windows-amd64.msi 如果被墙,相关包我已经上传到附件了。双击安装,过程忽略。 二、设置环境变量 Win10下右键“此电脑”->“属性”->"高级"->"环境变量",直接上图,不解释。 添加了一个GOROOT,为安装包路径,GOPATH为项目路径 三、开始编译 将附件压缩包解压到如下路径,注意路径哦 打开传说中的cmd(Win+R),眼前一片亮眼而令人窒息的黑!! 反手就是一把命令如下: cd /d D:\go\src\go-ssh-examples-master 编译上啊! go build client.go 当前目录下出现一个client.exe,执行: 好了,现在你可以拿去其它Windows平台的CMD下愉快的玩耍了。 可以在脚本刷刷作响~~~ 附件一:go-ssh-examples-master 附件二:自行github下载
阅读全文
golang

当go get 遇上GFW时……

一、问题背景 在使用go的小伙伴肯定会发现,当我们愉快的使用go get命令想下载源码包时,发现一直卡着不动,等了半天后,一句Timeout草草结尾了,法克油? 家人们不要慌,此时goproxy给我们已经铺好了路,啥是goproxy?简而言之呢,就是打着合法牌照旗号来下载编译源码了。这还真不是我闭一只眼瞎说的,有链接为证:https://github.com/goproxy/goproxy.cn/ 原文如下: Is Goproxy China legal in China? Goproxy China is a business-supported project rather than a personal project. And it has been ICP filed in the MIIT of China (ICP license: 沪ICP备11037377号-56), which means it's fully legal in China. 好了,到底是怎么设置后就可以丝滑的下载了呢,人家文章中写得已经很全面了,就知道此刻看文章的你想偷个懒,呐,给你搬过来了 二、设置环境 macOS or Linux Open your terminal and execute $ export GO111MODULE=on $ export GOPROXY=https://goproxy.cn or $ echo "export GO111MODULE=on" >> ~/.profile $ echo "export GOPROXY=https://goproxy.cn" >> ~/.profile $ source ~/.profile done. Windows Open your PowerShell and execute C:\> $env:GO111MODULE = "on" C:\> $env:GOPROXY = "https://goproxy.cn" 我们来下载一个网络库,它并没有可执行文件生成 $ go get github.com/davyxu/cellnet 三、go get 使用时的附加参数 另外为了方便偷懒专业户,我把go get的附加参数列表也搬过来了...
阅读全文
golang

以产品思维来写代码解决实际问题

一、需求背景 晚上下班回到家,家人提了个需求:安装一个别人通过微信发给他的app.apk到手机。心里想,这不直接点安装就完了嘛,结果发现我点击时,提示的是选择对应的应用程序打开,而且这个程序名字变成了app.apk.1,不知各位同学们是否碰到过。 二、开始解决 既然有需求,我们就要解决对不,我们可以下载一些Android管理类软件,然后通过数据线传输到手机,再进行安装,但这样太麻烦。脑海中开始飞速闪过一个解决方案:刚好我的电脑中安装有golang环境,可以利用go写一个简单的http服务器,然后将app放到该目录下,手机通过浏览器进行下载安装。二话不说,现成代码就是一顿copy,总共2行核心代码(已标红): package main import "net/http" func main() { http.Handle("/", http.FileServer(http.Dir("."))) http.ListenAndServe(":8000", nil) } 运行之 go run hello.go 三、访问浏览器下载安装 将app拷贝到代码目录下,浏览器访问之。如图,点击下载app.apk即可: 艾玛,虽然有点粗暴,代码都露出来了,但是问题解决了。
阅读全文
golang

使用golang开发一个windows下sshclient.exe

上一篇文章写了如何在Linux下开发一个sshclient命令行,本次我们回到Windows下来,因为golang是跨平台的,所以我们只需要设置下Windows下的环境变量,其它指令可不变。 一、安装golang 下载Windows安装包 原始链接:https://dl.google.com/go/go1.15.6.windows-amd64.msi 如果被墙,自行解决。双击安装,过程忽略。 二、设置环境变量 Win10下右键“此电脑”->“属性”->"高级"->"环境变量",直接上图,不解释。 添加了一个GOROOT,为安装包路径,GOPATH为项目路径 三、开始编译 将附件压缩包解压到如下路径,注意路径哦 打开传说中的cmd(Win+R),眼前一片亮眼而令人窒息的黑!! 反手就是一把命令如下: cd /d D:\go\src\go-ssh-examples-master 编译上啊! go build client.go 当前目录下出现一个client.exe,执行: 好了,现在你可以拿去其它Windows平台的CMD下愉快的玩耍了。 可以在脚本刷刷作响~~~
阅读全文