美文网首页
GO语言语法学习进度(4)

GO语言语法学习进度(4)

作者: speakspeak | 来源:发表于2019-05-23 15:03 被阅读0次

1.循环语句

①结构:for init; condition; post { }        //这种结构与C语言中for(;;)一样

例如:       for a := 0; a < 10; a++ {

      fmt.Printf("a 的值为: %d\n", a)

   }

②结构:for condition { }          //这种结构与while一样

   for a < b {

      a++

      fmt.Printf("a 的值为: %d\n", a)

   }

③结构:for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。

for key, value := range oldMap { newMap[key] = value}   //这种结构和python差不多。

例如:

   for i,x:= range numbers {

      fmt.Printf("第 %d 位 x 的值 = %d\n", i,x)

   }  

2.函数基础

函数结构

func function_name( [parameter list] ) [return_types] { 函数体}  其中[]中的指的是不一定是必要的。

func:函数由 func 开始声明

function_name:函数名称,函数名和参数列表一起构成了函数签名。

parameter list:参数列表,参数就像一个占位符,当函数被调用时,你可以将值传递给参数,这个值被称为实际参数。

return_types:返回类型

例子:

package main

import "fmt"

func swap(x, y string) (string, string) {

   return y, x

}

func main() {

   a, b := swap("Google", "Runoob")

   fmt.Println(a, b)

}

函数闭包

结构:func getSequence() func() int { i:=0 return func() int { i+=1 return i }}

其原理是返回一个函数,而函数中的变量是静态的。

func main(){ 

    /* nextNumber 为一个函数,函数 i 为 0 */ 

     nextNumber := getSequence()

     /* 调用 nextNumber 函数,i 变量自增 1 并返回 */  

    fmt.Println(nextNumber())            //返回1

     fmt.Println(nextNumber())           //返回2

     fmt.Println(nextNumber())           //返回3

}

函数方法

相关文章

  • GO语言语法学习进度(4)

    1.循环语句 ①结构:for init; condition; post { } //这种结构与C语言中fo...

  • 初识Go语言-1

    Go语言学习路径 初识Go语言 Go语言环境搭建与IDE安装 Go语言基础语法 Go语言数据类型 Go语言变量和常...

  • Go语言基础知识(一)

    Go 语言学习的入门部分,如果有C语言的基础类比学习会非常迅速。总结来说 Go语言 和 C语言很相似,语法更为简单...

  • (四)go语言函数&参数传递

    go语言函数 基本语法 例子 go语言参数传递

  • go语言有哪些优势

    1、学习曲线容易 Go语言语法简单,包含了类C语法。因为Go语言容易学习,所以一个普通的大学生花几个星期就能写...

  • GO语言语法学习进度(6)

    1.GO语言切片 ①定义切片 可以使用声明未指定大小的数组的方法来定义切片,而切片的定义。而切片的定义往往由mak...

  • GO语言语法学习进度(5)

    1.GO语言数组 数组的声明: var variable_name [SIZE] variable_type ...

  • GO语言语法学习进度(3)

    1.关键字chan通道 2.关键字defer ①若函数中有多个defer,其执行顺序为先进后出,可以理解为栈。 p...

  • GO语言语法学习进度(1)

    1.GO语言结构 第一部分:包声明,声明这个包的包名 packagemain 第二部分:引入包...

  • GO语言语法学习进度(2)

    1.GO语言的数据类型 (这里的数据类型可以被称为基本数据类型,到会面才会讲到派生类型) ①布尔型,例如:var ...

网友评论

      本文标题:GO语言语法学习进度(4)

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