go语言杂记1

1.配置环境变量

  • 对于Linux和Mac用户,mkdir /data/go_path
  • vim ~/.bashrc加入以下几行

               export GOROOT=/usr/local/go ($GOROOT和$GOPATH这两个路径完全可以自定义)

               export GOPATH=/data/go_path

               export GO111MODULE=on

               export GOPROXY=https://goproxy.cn

               export PATH=$PATH:$GOROOT/bin::$GOPATH/bin

  • source ~/.bashrc 使环境变量生效,使用“go env”命令查看go相关的环境变量

2.环境变量含义

  • GOROOT是go的安装目录,go原生的工具在该目录下(自带)
  • GOPATH通常存放自己开发的代码或第三方依赖库
  • GO111MODULE=on go会忽略GOPATH和vendor文件夹,只根据go.mod下载依赖。从go1.16开始其默认值为on
  • GOPROXY:下载依赖库时走哪个镜像代理,可以公司内部自建镜像
  • PATH下的二进制文件可以在任意目录下直接运行
  • 在$GOPATH目录建3个子目录:src、bin、pkg

3.关于go mod init  

       Go go.mod入门 - 知乎 (zhihu.com)

       golang 学习(二十五)go mod以及自定义包package的用法和init()方法_99号的博客-CSDN博客

4.iota

const (
    a = iota     // 0
    b            // 1
    c            // 2
    d            // 3
)
const (
    a = iota     // 0
    b            // 1
    _            // 2
    d            // 3
)
const (
    a = iota     // 0
    b = 30
    c = iota     // 2
    d            // 3
)
const (
    _ = iota                  // iota=0
    KB = 1 << (10*iota)       // iota=1
    MB = 1 << (10*iota)       // iota=2
    GB = 1 << (10*iota)       // iota=3
)
const (
    a, b = iota + 1, iota + 2     // 1, 2  iota=0
    c, d                          // 2, 3 iota=1
    e, f                          // 3, 4 iota=2
)

5.字面量

  • 字面量:没有出现变量名,直接出现了值。基础类型的字面量相当于是常量
fmt.Printf("%v\n", .4i)               //虚数字面量0.4i
fmt.Printf("%t\n", '\u4f17' == '')  //Unicode和rune字面量
fmt.Printf("Hello\nWorld\n")          //字符串字面量
  • 不同类型的字面量可以进行比较,但是一旦被赋值给变量后就不能比较了。例:
// 字面量直接比较(√)
fmt.Printf("%t\n", 04 == 4.00) //比较整形字面量和浮点型字面量

// 赋值给变量后比较(×)
var a int = 04
var b float = 4.00
fmt.Printf("%t\n", a == b)

6.输出rune型变量

  • 直接按字符输出
var r rune //type rune = int32
r = ''
fmt.Printf("%c\n", r)
  • 转换为字符串变量输出
var r rune
r = ''
fmt.Printf("%s\n", string(r))
  • rune支持所有字符,byte只支持ASCII码

7.全局变量要用var或者const声明,不能用:=

8.想对包进行注释,可单独开一个doc.go文件专门进行注释,避免出现一个包里的多个文件声明包时多次注释发生冲突

例(vp包):除了注释内容,其他代码程序都不会有

/*doc.go文件*///注释1
//
//注释2
package vp

 9.go doc 命令

 go自带的命令(entrance_class/util)

 格式:go doc 包名

 作用:显示包的引用方式(例:import "fmt"),包里各个文件的注释,包里可导出变量、函数等(大写声明的)

 10.godoc

  • godoc可以为项目代码导出网页版的注释文档
  • 需要先安装 go get golang.org/x/tools/cmd/godoc
  • 启动http:godoc -http=:6060(指定的端口号,可自己指定任意符合规定的端口号)
  • 用浏览器访问:http://127.0.0.1:6060/pkg/要查看 包 或者 包下文件 的路径(例:fmt、go-course/entrance_class)

 

        

posted @ 2023-01-14 15:34  balabalahhh  阅读(22)  评论(0编辑  收藏  举报