跳转至

Go 常用方法

约 189 个字 25 行代码 预计阅读时间 1 分钟

控制台输出

导入 fmt 包。

fmt.Println(x, y, ...)

多个值输出时之间有空格。

自动换行。

fmt.Printf(<string>, x, y, ...)

如果要换行需要在字符串末尾加上 \n

  • %T:数据类型
  • %v:值
  • %q:字符串会用双引号包裹,数组 / 切片返回对应的数据,其他情况暂不知道
    1
    2
    3
    4
    5
    6
    7
    8
    9
    package main
    import "fmt"
    func main() {
        var i int
        var f float64
        var b bool
        var s string
        fmt.Printf("%q %q %q %q\n", i, f, b, s)
    }​​​
    
    '\x00' %!q(float64=0) %!q(bool=false) ""
    
  • %s:字符串的话正常输出,其他的未知
    35
    %!s(int=35)
    

生成整数随机数

导入 math/rand 包。

rand.Intn(<int>)

算术平方根

导入 math 包。

math.Sqrt(<float64>)

位的左右移动

1
2
3
<int> << 位数
// eg.
1 << 100

左移。

1
2
3
<int> >> 位数
// eg.
4 >> 1
右移。

数字转字符串

导入 fmt 包。

fmt.Sprint(<数字>)

合并数组/切片为字符串

导入 strings 包。

strings.Join(<数组/切片>, <间隔字符串>)

拆分字符串

导入 strings 包。

strings.Fields(<字符串>)

字符串去掉头尾的空格,并将剩下的字符串以空格为分隔拆分为数组。