zhyq0826 / zhyq0826.github.io

三月沙的博客
http://sanyuesha.com
6 stars 1 forks source link

golang #89

Closed zhyq0826 closed 5 years ago

zhyq0826 commented 7 years ago

install go on mac

brew install go

set env path

#.bashrc
export GOPATH=/Users/zhaoyongqiang/zhyq0826/lab/go-lab
export PATH=$PATH:$GOPATH/bin

code organization 代码组织

go 使用一个 workspace 来存储所有相关的 go 代码,workspace 可能包含有不只一个仓库,每个仓库包含若干 package, package 的路径决定了 package 的导入

workspace

workspace 是包含了如下目录的目录

使用 go tool build src 中的代码,然后安装到 bin 和 pkg 目录,src 的子目录包含若干仓库来跟踪源代码的开发。

bin/
    hello                          # command executable
    outyet                         # command executable
pkg/
    linux_amd64/
        github.com/golang/example/
            stringutil.a           # package object
src/
    github.com/golang/example/
        .git/                      # Git repository metadata
    hello/
        hello.go               # command source
    outyet/
        main.go                # command source
        main_test.go           # test source
    stringutil/
        reverse.go             # package source
        reverse_test.go        # test source
    golang.org/x/image/
        .git/                      # Git repository metadata
    bmp/
        reader.go              # package source
        writer.go              # package source

create program

mkdir $GOPATH/src/github.com/zhyq0826/hello
#write some code
touch hello.go 
go build $GOPATH/src/github.com/zhyq0826/hello
go install $GOPATH/src/github.com/zhyq0826/hello
$GOPATH/bin/hello 
hello

install from remote packages

get package

$ go get github.com/golang/example/hello
$ $GOPATH/bin/hello
Hello, Go examples!

import package

import "github.com/golang/example/stringutil"

go 编辑器配置

https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/01.4.md

sublime

go sublime plugin

https://packagecontrol.io/packages/GoSublime

设置 gopath 帮助 mago 自动完成

{

    "env": {
        "GOPATH": "/Users/zhaoyongqiang/go-workspace"
    }
}