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

    1.元组赋值 2. 未使用的变量以及包编译报错 Go中定义了未使用的局部变量或者导入了未使用的包,编译时都会报错 ...

网友评论

      本文标题:Go-Think

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