Golang八股文(-1)小知识点收集

最后更新于2021年8月12日 11:43:09

有时候看到一些小的知识点,放在这篇博客里了

golang errgroup的用法及用处

Go编译缓存导致C文件修改后未重新编译 劳资服了,人才

小知识:CGO太tm难用了,建议不要频繁在golang和c之间传递数据,转换数据类型,我想死。建议业务代码都用C语言实现,golang作为参数的提供者和接受者。

CGO调用C语言的链接库,不但要写进#cgo LDFLAGS:里面,还要在环境变量的LD_LIBRARY_PATH这一项添加。

2021年9月1日 19:36:30

type user struct {
    
    
    name string
}

func main() {
    
    
    u := user{
    
    "tang"}
    //Printf 格式化输出
    fmt.Printf("% + v\n", u)     //格式化输出结构
    fmt.Printf("%#v\n", u)       //输出值的 Go 语言表示方法
    fmt.Printf("%T\n", u)        //输出值的类型的 Go 语言表示
    fmt.Printf("%t\n", true)     //输出值的 true 或 false
    fmt.Printf("%b\n", 1024)     //二进制表示
    fmt.Printf("%c\n", 11111111) //数值对应的 Unicode 编码字符
    fmt.Printf("%d\n", 10)       //十进制表示
    fmt.Printf("%o\n", 8)        //八进制表示
    fmt.Printf("%q\n", 22)       //转化为十六进制并附上单引号
    fmt.Printf("%x\n", 1223)     //十六进制表示,用a-f表示
    fmt.Printf("%X\n", 1223)     //十六进制表示,用A-F表示
    fmt.Printf("%U\n", 1233)     //Unicode表示
    fmt.Printf("%b\n", 12.34)    //无小数部分,两位指数的科学计数法6946802425218990p-49
    fmt.Printf("%e\n", 12.345)   //科学计数法,e表示
    fmt.Printf("%E\n", 12.34455) //科学计数法,E表示
    fmt.Printf("%f\n", 12.3456)  //有小数部分,无指数部分
    fmt.Printf("%g\n", 12.3456)  //根据实际情况采用%e或%f输出
    fmt.Printf("%G\n", 12.3456)  //根据实际情况采用%E或%f输出
    fmt.Printf("%s\n", "wqdew")  //直接输出字符串或者[]byte
    fmt.Printf("%q\n", "dedede") //双引号括起来的字符串
    fmt.Printf("%x\n", "abczxc") //每个字节用两字节十六进制表示,a-f表示
    fmt.Printf("%X\n", "asdzxc") //每个字节用两字节十六进制表示,A-F表示
    fmt.Printf("%p\n", 0x123)    //0x开头的十六进制数表示

2021年9月9日 17:12:50
[典藏版] Golang 调度器 GMP 原理与调度全分析
An overview of memory management in Go
Garbage Collection In Go : Part I - Semantics

2021年9月13日 14:33:21
22. 图解:Go语言中的静态类型与动态类型
获取接口值的动态类型的方法是使用%T:

var w io.Writer
fmt.Printf("%T\n", w)

2021年9月29日 11:27:48
请添加图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44445507/article/details/119640589