学习,动手实战,写作这是最有效的学习方式。买了这个课程,愿能节省时间,让我快速入门,然后进军编程世界的广阔而深邃的大海。
开发环境
国产linux发行版本deepin,用go mod代替传统的gopath:
首先要开启 GO111MODULE,go mod这是go1.11之后官方新发布的特性,你的项目目录千万不要建立在GOPATH/src下面,go mod 和 GOPATH是冲突的。
go version # 查看go的版本 > go env # 查看当前go的环境 > go env -w GO111MODULE=on # 开启go mod > go env -w GOPROXY=https://goproxy.io,direct # 配置走代理
在你的项目目录,直接go mod init projectname 即可,记住go.sum不是锁文件,go.sum是一个构建状态跟踪文件。它会记录当前module所有的顶层和间接依赖,以及这些依赖的校验和,从而提供一个可以100%复现的构建过程并对构建对象提供安全性的保证。
一个简单的web程序
,作者在这个教程没有教会你怎样使用web框架,go的web框架只是net/http包上包装了一层。go 没有类似Spring,Django这种重量级框架,也没有类似php这各种功能大而全的框架。一切都会引入官方和各种开源包.从最语言最底层的http包搭建一个web系统是最有价值的。
如果你的网络不畅可以通过下面命令快速查看一个本地web的官网文档
godoc -http=:6060 -play
直接贴上一段代码:
package main
import ("fmt""net/http")
func handlerFunc(w http.ResponseWriter, r *http.Request) {// 设置头部返回类型
w.Header().Set("Content-Type","text/html;charset=utf-8")if r.URL.Path == "/" {
fmt.Fprint(w,"<h1>这是博客首页</h1>")}else if r.URL.Path == "/about"{
fmt.Fprint(w,"这是关于我们")}else{
w.WriteHeader(http.StatusNotFound)// 设置头部404状态码
fmt.Fprint(w, "<h1>请求页面未找到404:(</h1>"+"<p>如有疑惑,请联系我们。</p>")}
}
func main() {
http.HandleFunc("/", handlerFunc)
http.ListenAndServe(":3000", nil)
}
我们用命令go run main.go 或者go build main.go ./main 即可
注意一个命令:go install和go build的区别
安装编译后的结果文件到指定目录库源码包对应的 .a 文件会被放置到 pkg 目录下,命令源码包生成的可执行文件会被放到 GOBIN 目录,至于还不清楚库源码和命令源码的自己看下教程
每次改完就go run main.go 好累 go get -u github.com/cosmtrek/air 安装air 即可
一个air命令会不断的监听你的任何更高