GO快速入门三

Posted 不要做程序员的小松鼠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GO快速入门三相关的知识,希望对你有一定的参考价值。

GO快速入门三

array&slice(数组&切片)

  • array和其他的数组一样,slice大概就类似于STL中的vector
​```
package main
import "fmt"
func main()
​        var a [6]int
​        fmt.Println(a)
​        s := make([]int,6,10)
​        s = append(s,1)
​        fmt.Println(s)
​        fmt.Println("len(a)",":",len(a))
​        fmt.Println("cap(a)",":",cap(a))
​        fmt.Println("len(s)",":",len(s))
​        fmt.Println("cap(s)",":",cap(s))
		for i,v := range s
		fmt.Println(i,v)
		

​```
结果:

​	[0 0 0 0 0 0]
​	[0 0 0 0 0 0 1]
​	len(a) : 6
​	cap(a) : 6
​	len(s) : 7
​	cap(s) : 10
​	0 0
​	1 0
​	2 0
​	3 0
​	4 0
​	5 0
​	6 1
  • array是值类型,slice是引用类型
  • 使用make创建引用类型,所有s就是slice
  • slice的cap是只slice的容量,len是元素个数,len(s)<=cap(s)
  • 使用append,在slice后面追加元素
  • 使用range可以进行遍历

函数多值返回

package main
    import "fmt"
    import "errors"
    func main()
    ​	if _,err:=cacl(0,1);err==nil
    ​	fmt.Println(cacl(0,1))	
    ​	
    ​	if _,err:=cacl(1,2);err==nil
    ​	fmt.Println(cacl(1,2))	
    ​	
    
    func cacl(x float64,y float64)(float64,error)
    ​	if x==0
    ​		return 0,errors.New("Invalid param.")
    ​	
    ​	return x/y,nil
    
结果:0.5  <nil>
  • 函数可返回多个值
  • 通常会有个error,用于返回判断
  • “_” 可用于接不需要使用的变量

defer

package main
  import "fmt"
  func main()
  ​	defer func()
  ​	fmt.Println("Good bye.")
  ​	()
  ​	fmt.Println("Good boy.")	
  
  • defer在执行所有之后执行,常用于用完需要最后处理掉的资源,如文件在打开之后一直使用,退出前需要关闭文件句柄。
  • 代码中的func(),其实是匿名函数,用处很大,此处就不展开了。

以上是关于GO快速入门三的主要内容,如果未能解决你的问题,请参考以下文章

GO 语言基础语法一 (快速入门 Go 语言)

Go fiber 框架快速入门

GO快速入门一

GO快速入门一

Go 快速入门

GO快速入门二