• go语法笔记1


     go语言命令

    #go 基本命令
    go env #查看goroot,gopath,gocache,version...
    go env -w GOPROXY=https://goproxy.io,direct
    go env -w GOPATH=C:Userskuangzhenggo;D:codeResourcehellogo #windos设置失败可打开修改环境变量:rundll32 sysdm.cpl,EditEnvironmentVariables
    
    GOPATH=C:Userskuangzhenggo
    go run #执行go程序,必须是main包
    go build #编译成二进制文件
    go get #
    
    go list #列出包和模块
    go mod #模块管理,待理解
    go install #编译和安装包和依赖
    
    #gofmt 命令
    gofmt [flags] [path ...]
    gofmt -e ./
    
    #go tool 命令
    go tool compile [flags] file...
    go tool fix [-r name,...] [path ...]
    go test -trace trace.out pkg
    go tool trace trace.out

    package包

    参考:https://www.yisu.com/zixun/13079.html

    module模块:go官方包管理器

    defer(延迟执行语句)

    参考:http://c.biancheng.net/view/61.html

    interface和interface{}的区别

    参考:https://www.cnblogs.com/maji233/p/11178413.html

     https://www.cnblogs.com/anthony-dong/p/12249394.html(指针与引用)

    golang中值类型/指针类型的变量区别总结

    参考:https://studygolang.com/articles/11918

    fmt格式化函数

    1,格式化输出和读取

    Print, Printf, Println #输出到 标准化输出
    Sprint, Sprintf, Sprintln #输出为 一个字符串
    Fprint, Fprintf, Fprintln #写入到 一个io.Writer
    
    Scan, Scanf, Scanln #从 标准化输入 读取
    Sscan, Sscanf, Sscanln #从一个字符串 读取
    Fscan, Fscanf, Fscanln #从一个io.Reader 读取
    
    ...f结尾可以格式化
    ...ln结尾:每个参数间有空格,语句结束会添加换行

    2,格式化参数列表

     参考:https://www.jianshu.com/p/f54baf75eedf

    //通用
    %v        值的默认格式
    %+v       类似%v,但输出结构体时会添加字段名
    %#v    Go语法表示值
    %T     Go语法表示类型
    %%       百分号表示
    布尔
    %t  true或false 
    整数
    %b  表示二进制
    %c  该值对应的unicode吗值
    %d  表示十进制
    %o  表示八进制
    %q  该值对应的单引号括起来的go语法字符字面值,必要时会采用安全的转义表示
    %x  表示为十六进制,使用a-f
    %X  表示为十六进制,使用A-F
    %U  表示为Unicode格式:U+1234,等价于"U+%04X"
    浮点和复数
    %b  无小数部分、二进制指数的科学计数法,如-123456p-78;参见strconv.FormatFloat
    %e  科学计数法,例如 -1234.456e+78 
    %E  科学计数法,例如 -1234.456E+78
    %f  有小数点而无指数,例如 123.456 
    %F  等价于%f
    %g  根据实际情况采用%e或%f格式(以获得更简洁、准确的输出)
    %G  根据实际情况采用%E或%F格式(以获得更简洁、准确的输出)
    string和[]byte
    %b  无小数部分、二进制指数的科学计数法,如-123456p-78;参见strconv.FormatFloat
    %e  科学计数法,例如 -1234.456e+78 
    %E  科学计数法,例如 -1234.456E+78
    %f  有小数点而无指数,例如 123.456 
    %F  等价于%f
    %g  根据实际情况采用%e或%f格式(以获得更简洁、准确的输出)
    %G  根据实际情况采用%E或%F格式(以获得更简洁、准确的输出)
    指针
    %p       切片第一个元素的指针,十六进制内存地址,前缀ox

    3,buffer是用来从存储写入内容的,stream是用来存储读取的内容的

    r := strings.NewReader("some io.Reader stream to be read
    ")
    
    var buf1, buf2 bytes.Buffer
    w := io.MultiWriter(&buf1, &buf2)
    
    if _, err := io.Copy(w, r); err != nil {
        log.Fatal(err)
    }
    fmt.Print(buf1.String())
    fmt.Print(buf2.String())
  • 相关阅读:
    天天写业务代码,如何成为技术大..niu?
    2021年12月PHP面试题总结
    同事乱用 Redis 卡爆,我真是醉了...
    如何合理的面试审问面试官:
    进制转换
    Is there a difference between table.class tr, th and table .class tr, th?
    ubuntu中安装notepadqq
    VPDN
    OpenAppFilter 自定义特征库
    Tcping详细使用教程
  • 原文地址:https://www.cnblogs.com/tkzc2013/p/14962549.html
Copyright © 2020-2023  润新知