# Golang 知識匯總 [TOC] ## 職缺必備技能 ### [Eat together](https://www.104.com.tw/job/4iyuf?jobsource=job_same_B) * 工作內容 * Restful API開發 * 資料庫規劃/設計 * 基於AWS開發自家產品所需的功能 * 協助撈取各項營運數據 * Must have: * Familiar with Golang * Experienced with PostgreSQL * Experienced with networking * Experienced with Restful API * Nice to have: * Basic with Amazon Web Services * Basic with NoSQL * Basic with Serverless/Micro Service ## 教學資源收集 * [Go Web Programming 筆記](/KYCLx3dtTZiifR5Y-eQBMw) * [Gopl 筆記](/@unknowntpo/gopl) ### Docker * [30 天與鯨魚先生做好朋友 系列](https://ithelp.ithome.com.tw/users/20102562/ironman/3746?page=3) * [Docker in action](https://livebook.manning.com/book/docker-in-action-second-edition/chapter-13/1) * [Complete Guide to Create Docker Container for Your Golang Application ](https://levelup.gitconnected.com/complete-guide-to-create-docker-container-for-your-golang-application-80f3fb59a15e) ### 環境設定 * [Go 套件管理 ](https://openhome.cc/Gossip/Go/Package.html) * :question: How to create your own package? :::spoiler * package location: ```shell GOPATH / GOROOT: └── src └── hello └── hello.go ``` * `hello` 與 `hello.go` 必須同檔名 * `hello.go` 內要讓別的程式使用的 function, 開頭要大寫 * :question: How to use `hello` package? * 在 anywhere * import `hello` * `hello.HelloWorld()` * :question: What does `go install` do? 1. looking for pkg hello 2. generate static library `hello.a` in `$GOPATH/src/$GOOS_$GOARCH` 3. executable file will be placed in `$GOPATH/bin` ::: :::success TODO: * 練習使用 bst 對slice 做排序,並 import `gopl.io/ch4/treesort` package 來對 slice 做排序 ::: * [Stack Overflow - How to get all dependency files for a program using Golang](https://stackoverflow.com/questions/32758235/how-to-get-all-dependency-files-for-a-program-using-golang) * `go get -d ./...` ### [How to Find Exactly Where a Homebrew Package is Installed](https://osxdaily.com/2018/07/05/where-homebrew-packages-installed-location-mac/) * `brew --prefix [package]` * What is symbolic link? ### [Build-web-application with golang](https://github.com/astaxie/build-web-application-with-golang/blob/master/en/preface.md) ### [Go Web 编程](https://learnku.com/docs/build-web-application-with-golang/about-this-book/3151) ### PostgreSQL setup * [Installing Postgres via Brew ](https://gist.github.com/ibraheem4/ce5ccd3e4d7a65589ce84f2a3b7c23a3) ### [Delve Note](/qUwXmT_XS_abfSslmYmG2Q) ### Golang brew 版本切換 * [Golang 透過brew來做Golang的版本切換 ](https://www.evanlin.com/go-version-control-with-brew/) ### Golang homebrew 安裝與 environment variable setup # [Gopl 筆記](/xzpq-2CFS86aFcLoDzgCfQ) # [Docker for beginners](https://github.com/docker/labs/blob/master/beginner/chapters/setup.md) # [Docker 筆記](/mivKlST8ST2InlHSY4_hOw) * [Data type in Go](/Jf1dDkpNTzCYJj45Lv-H1w) # [Go Web Programming 筆記](/KYCLx3dtTZiifR5Y-eQBMw) # [Weekend Project](/EDuuPY5zTT-IF6cgsIzR3A) # [curl 筆記](/92RyctzOTyWzCc1uPCsGdA) # [Michael golang Web 筆記](/aon9ddoVSLKCYXyctM6wMw) # [Learn go with tests](/pR-RamXLQ1eRE3zZ7Dat4Q) * [中文](https://learnku.com/docs/learn-go-with-tests/brief-introduction/6079) * [原文](https://quii.gitbook.io/learn-go-with-tests/) # [跟著煎魚學 GO](https://www.bookstack.cn/read/eddycjy-go/README.md) * 包含進階應用 * grpc * gin * cache * SQL ... # [TCP / IP 知識](/fUz7m2tAS2SmufAIEO8MDw) # [Concurrency Patterns in Go](https://www.oreilly.com/library/view/concurrency-in-go/9781491941294/ch04.html) # [RegExp 筆記](/Sa2HJaWERGq3tbZO3Px8Xg) # [google - 如何做 Code review](https://google.github.io/eng-practices/review/reviewer/standard.html) # [CodeReviewComments](https://github.com/golang/go/wiki/CodeReviewComments#error-strings) # Go 原始碼分析 * [惜暮 - Golang Scheduler原理解析](https://blog.csdn.net/u010853261/article/details/84790392) * [惜暮 - golang汇编语言基础](https://louyuting.blog.csdn.net/article/details/101060546) * [go kit todo 前後端微服務範例](https://github.com/cage1016/gokit-todo) --- # http package ## httprouter * [httprouter 解析](/XBn7MsYVR-SDnUvbJs1OlQ) # [Javascript 知識匯總](/a8dMESgtTnKi0mjhBfB99A) # [Think like a programmer](/EJDmrwTiS_CMVhhsgEDEHQ)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up