Go语言基本语法(4)| 青训营

68 阅读2分钟

昨天的笔记记录到了map和range。今天继续对Go语言的基本语法进行巩固与提高。在青训营的课程中,range后的内容是函数。其实在我看来,这部分内容应该提到前面去讲解,让初学者对Go语言的结构有更加直观的了解。

函数是Go语言中最基本的代码块,用于执行一个任务。Go语言中,最少也要有个main()函数。我们可以通过函数来划分不同功能,执行指定的任务。函数声明展示了编译器函数的名称、返回类型和参数。在Go语言的标准库中有许多内置的函数,例如len函数去返回参数的长度。若输入字符串则返回字符串的长度,若输入数组则返回数组中所包含的元素个数。当然,我们也可以创建一个函数,这边引用青训营课程的例子,做一个两数相加的函数: func add(a int, b int){ return a+b } 当我们要调用创建的函数时,只需把它当作内置的函数一样: func main(){ c :=add(2,3) fmt,println(c) } 这时c输出的值就为5,没有任何难度,非常容易理解。

假如我们要返回的不是一个值,而是要两个值呢?这个问题也非常容易解决,我们做一个swap交换函数为例: func swap(a,b string)(string,string){ return b,a } func main(){ c,d :=swap("one","two") fmt.println(c,d) } 最终执行的结果为“two one”,实现了返回两个值。

接下来的内容是指针。指针也是一个初次学很难但是理解后又较为容易的东西。在Go语言中,使用指针可以更简单的执行一些任务,主要是对常用的参数进行修改。在使用指针前我们需要声明指针,这边还是用青训营课程中的例子进行演示: func add(a int)int{ a+=2 } 想要实现对a的累加,上方的程序看似没有错误,但是实现不了,需要添加指针才可行。正确的代码如下: func add(a *int){ *n+=2 } 你也许已经发现,加了“*”就成为了指针。让编译器获取到了指针所指向的内容。但是想要实现指针还需最后一步,在输出时需要加一个“&”才算真正完成。代码如下: add(&a) 这样才能实现指针的功能。

当一个指针被定义后没有分配到任何变量时,它的值为nil,也被称作空指针。一个空指针的输出结果为0。