GO 踩坑入门篇

GO-口吐芬芳

最近有个项目要用socket做前后端交互, 看到 go websocket 居然支撑 单服务器100 0000 连接.内存不用1G. 它滴娘个腿~
对于我们这种用java 写个socket,发布到神龙服务器上开一百个线程就卡到飞起的三流程序员来说,天神有木有!!!

也算是老司机,不曾想有一天拔在这鬼坑里出不来.*** ,就不能简单暴力点?

开篇-环境-MAC

我的环境 mac,其它环境别往下看了,鬼知道你是什么问题!自己爬去,我都没爬出来还管球你!

下载

官网, 下载
我下的版本是 Apple MacOS / go1.14.darwin-amd64.pkg
一顿鼠标Next 之后, go 成功安装到 /usr/local/go

我一直坚信这**是我整个GO环节里最顺利的时刻

环境变量

因为 shell 环境用的 zsh, 确保 开机在命令行就可以用到 GO 命令 , GOPATH/bin 得加入到PATH。这个跟其它系统、其它应用可执行文件一个意思,不嘚嘚。

没安装zsh 这里

启动台》其它》终端

code@MB ~ % vi ~/.bash_profile

export GOPATH=$HOME/go
export GOPROXY=https://goproxy.io
export GO111MODULE=auto
export PATH=$PATH:/usr/local/go/bin
export PATH=$PATH:$GOPATH

> esc :wq  
# 如果有权限问题, 就 sudo vi ...
# 为了上面这堆环境变量我没少折腾 你照抄好了。

vi ~/.zshrc
source $HOME/.bash_profile

esc wq

> source ~/.zshrc  # 刷新整个配置,这个之后应该在什么位置都可以 go help
> go help 
> ...

IDE 编程工具

Visual Studio Code 如日中天的今天,其它都是垃圾!反正我写java、node、flutter什么乱七八糟的都用这个.
下载完成后在 Extensions 里搜 GO ,管它什么牛鬼蛇神,看着顺眼的都一通 install! 最少得装top两,当程序员打开任何界面不能空手点XX,横竖捞点。

然后
Code 》 Preferences 》Settings 》 User(作用域) 》 Extensions 》Go
Edit in settings.json, 下面这段复制进去. 重启 VS Code 一次。

"go.formatTool": "goimports",
"go.useLanguageServer": true,
"go.gocodeAutoBuild": true,
  "go.gopath": "/Users/codes/go",
  "[markdown]": {
    "editor.defaultFormatter": "yzhang.markdown-all-in-one"
  },
  "go.languageServerFlags": [
    "serve",
    "-rpc.trace",
    "--debug=localhost:6060",
 ]

自己看字面意思,懒得注释!
反正为了能正常编译,这几个配置翻了一堆网页,烧了我三杯速溶咖啡,个中艰辛尔等自行理解!鬼知道还有什么大坑,后面慢慢补充。

项目创建

相对于JAVA/maven,Node/NPM来说,GO的依赖管理不知道是什么goshi!总之第一感觉就是思路清奇、逻辑混乱。搞明白估计得不少时间。
有用文字能描述清楚的大神,请直接提交到这里,插香跪拜!
我们用官方提供的mod来管理依赖

创建了个目录。用来踩坑


> mkdir -p ~/git/projects/go/hello 
> cd ~/git/projects/go/hello  
> go mod init     

初始化mod管理依赖项目环境方式,跟环境变量里的 export GO111MODULE=auto 相关。
这里 有说明,但是我看完实操还是云里雾里。

VS Code》File》Open 上面创建的目录。

主命令文件

新建 main.go 》F5

package main

import (
    "io"
    "net/http"
    "os/exec"
)

func hello(w http.ResponseWriter, r *http.Request) {
    io.WriteString(w, "hello this boll chat server! $9999")
}

func main() {
    http.HandleFunc("/", hello)
    http.ListenAndServe(":8000", nil)
    cmd := exec.Command("open", "http://localhost:8000")
    cmd.Output()
}

good luck !!!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容

  • 1. 分布式系统核心问题 参考书籍:《区块链原理、设计与应用》 一致性问题例子:两个不同的电影院买同一种电影票,如...
    molscar阅读 904评论 0 0
  • 小编费力收集:给你想要的面试集合 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JA...
    八爷君阅读 4,573评论 1 114
  • 99%的我看完这篇玩意儿都哭了 崩溃 我为什么要选这个学校这个专业 论文现在
    亢龙有悔阅读 75评论 0 1
  • ​ c和指针的关系十分密切,所以在本文,我们会详细的谈谈指针。这边我会结合<<c与指针>>这本书的内容来介绍它。 ...
    badreisen阅读 199评论 0 0
  • 最近公司领导层一直有动作,绩效削减,平台调整,频繁招人,每一波操作都会让办公室人心惶惶。虽说我是一个低层管...
    七分颜色阅读 101评论 0 0