[Go] 环境变量,模块化与基础语法

通过llama.cpp与羊驼聊天的网页界面- 详解 Serge 的启动使用

 

【环境变量】

安装完 go 之后,设置必要环境变量:

export GOPATH=/home/wc/go-lab
export GO111MODULE=on
export GOPROXY=https://goproxy.io
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin:/usr/local/protobuf/bin

 

【模块化】

`export GO111MODULE=on` 开启 go 模块化包管理,将不再使用 GOPATH 管理依赖。

`go mod init /home/wc/go-lab/go-syntax` 用来初始化模块目录。

go.mod 不能在 GOPATH 目录下,go.sum 是当前模块依赖项目的版本锁定。

 

【基础语法】

// 定义包名
package main

// 需要使用的包
import "fmt"

// go run first.go 编译并执行,不会留下可执行文件
// 或者
// go build -o binary/first first.go && ./binary/first

// 程序开始执行的函数, main 函数是每一个可执行文件必须包含的
func main () {
    // 当标识符(常量/变量/类型/函数名/结构字段)以一个大写字母开头,那么这种形式的对象就可以被外部包的代码导入使用
    // 标识符以小写字母开头,则对包外不可见,但在整个包的内部是可见并且可用的.
    // GO的字符串连接 +
    fmt.Println("Google " + "lang")

    var apple string
    var orange string
    var fruit string

    apple = "Apple"
    orange = "Orange"
    fruit = apple + orange;

    fmt.Println("Fruit " + fruit);
}

/*
行分割符
注释
标识符:命名变量,类型等程序实体
字符串连接
关键字
*/

// 关键字
/*
break, default, func, interface, select,
case, defer, go, map, struct,
chan, else, goto, package, switch
const, fallthrough, if, range, type,
continue, for, import, return, var,
*/

// 预定义标识符
/*
append, bool, byte, cap, close, complex, complex64, complex128, uint16
copy, false, float32, float64, imag, int, int8, int16, uint32
int32, int64, iota, len, make, new, nil, panic, uint64
print, println, real, recover, string, true, uint, uint8, uintptr
*/

 

Refer:认识Golang环境变量

Src:https://github.com/farwish/go-lab/blob/master/go-syntax/first.go

Link:https://www.cnblogs.com/farwish/p/11073044.html

posted on 2019-06-23 15:48  ercom  阅读(849)  评论(0编辑  收藏  举报