Go-Think

作者: LazzMan | 来源:发表于2021-02-25 09:54 被阅读0次

    1.元组赋值

    a, b := 1, 2 //右边被封装为元组,左边解构赋值
    fmt.Println(a, b) //1 2
    
    a, b = b, a //右边被封装为元组,左边解构赋值
    fmt.Println(a, b) //2 1
    
    func fib(n int) int {
        x, y := 0, 1
        for i := 0; i < n; i++ {
            x, y = y, x+y
        }
        return x
    }
    

    2. 未使用的变量以及包编译报错

    Go中定义了未使用的局部变量或者导入了未使用的包,编译时都会报错

    3. 代码格式统一

    例如go对函数头处的{做了规定必须位于首行

    fun a() int {
      xxx
    }
    

    自增,自减只有a++或者a--写法

    4. 容器

    • Go语言标准库提供了数组(等于Java的数组,定长)、切片(等于Java的List,变长)、映射(等于Java的HashMap)、列表(等于Java的LinkList).
    • C语言没有提供容器封装,开发者需要自己根据性能需求进行封装,或者使用第三方提供的容器。
    • C++ 语言的容器通过标准库提供,如 vector 对应数组,list 对应双链表,map 对应映射等。
    • C# 语言通过 .NET 框架提供,如 List 对应数组,LinkedList 对应双链表,Dictionary 对应映射。
    • Lua 语言的 table 实现了数组和映射的功能,Lua 语言默认没有双链表支持。
    • Java语言JDK提供了各种容器的实现,当然如果觉得性能不满足,也有大把的第三方实现

    相关文章

      网友评论

          本文标题:Go-Think

          本文链接:https://www.haomeiwen.com/subject/kleyfltx.html