返回介绍

零碎知识点

发布于 2023-06-25 22:01:52 字数 3665 浏览 0 评论 0 收藏 0

1.new() 与 make() 的区别

new(T) 和 make(T,args) 是 Go 语言内建函数,用来分配内存,但适用的类型不同。

new(T) 会为 T 类型的新值分配已置零的内存空间,并返回地址(指针),即类型为 *T 的值。换句话说就是,返回一个指针,该指针指向新分配的、类型为 T 的零值。适用于值类型,如数组、结构体等。

make(T,args) 返回初始化之后的 T 类型的值,这个值并不是 T 类型的零值,也不是指针 *T,是经过初始化之后的 T 的引用。make() 只适用于 slice、map 和 channel.

2.defer func() { recover() }() 可以拦截panic错误

3.转换小写字母

//转换成小写字母
func toLowerCase(str string) string {
    rune_arr := []rune(str)
    for i, _ := range rune_arr {
        if rune_arr[i] >= 65 && rune_arr[i] <= 90 {
            rune_arr[i] += 32
        }
    }
    return string(rune_arr)
}

4.Golang 解决 golang.org/x/ 下包下载不下来的问题

由于众所周知的原因,golang在下载golang.org的包时会出现访问不了的情况。尤其是x包,很多库都依赖于它。由于x包在github上都有镜像,我们可以使用从github.com上把代码clone到创建的golang。org/x目录上就OK了

还有其他的包可以直接进github包里面查找

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文