Go语言基础知识
2017-10-10 15:24
495 查看
数组声明
var balance [10] float32Range使用
range作用于切片或数组,返回idex和valuerange作用于map,返回key, value或key
range作用于字符,The first value is the starting byte index of the rune and the second the rune itself.
package main import "fmt" func main(){ nums := []int{2,3,4} sum := 0 for _, num := range nums { sum += num } fmt.Println("sum:", sum) for i, num := range nums { if num == 3 { fmt.Println("index:", i) } } kvs := map[string]string{"a": "apple", "b": "banana"} for k,v := range kvs { fmt.Printf("%s -> %s\n", k, v) } for k := range kvs { fmt.Println("key:", k) } for i, c := range "go" { fmt.Println(i, c) } }
函数
func function_name( [parameter list] ) [return_types] { 函数体 }
func:函数由 func 开始声明
function_name:函数名称,函数名和参数列表一起构成了函数签名
parameter list:参数列表
return_types:返回类型,函数返回一列值
package main import "fmt" func plus(a int, b int) int { return a + b } func plusPlus(a, b, c int) int { return a + b + c } //多值返回 func vals()(int, int) { return 3, 7 } func sum(nums ...int) { fmt.Println(nums, " ") } func main() { res := plus(1, 2) fmt.Println("1+2 =", res) res = plusPlus(1, 2, 3) fmt.Println("1+2+3 =", res) a, b := vals() fmt.Println(a) fmt.Println(b) }
可变参数的函数
package main import "fmt" func sum(nums ...int) { fmt.Print(nums, " ") total := 0 for _, num := range nums { total += num } fmt.Println(total) } func main() { sum(1,2) sum(1,2,3) nums := []int{1,2,3,4} sum(nums...) }
闭包
package main import "fmt" func intSeq() func() int { i := 0 return func() int { i += 1 return i } } func main() { // nextInt为一个函数,i的值为1 nextInt := intSeq() fmt.Println(nextInt()) fmt.Println(nextInt()) fmt.Println(nextInt()) newInts := intSeq() fmt.Println(newInts()) }
递归
package main import "fmt" func fact(n int) int { if n == 0 { return 1 } return n * fact(n-1) } func main() { fmt.Println(fact(5)) }
相关文章推荐
- Go语言基础知识总结(语法、变量、数值类型、表达式、控制结构等)
- GO语言(golang)基础知识
- go语言基础知识点
- [go语言]基础知识
- Golang 入门系列(三)Go语言基础知识汇总
- Go语言学习笔记一、基础知识
- JavaScript 语言基础知识点总结(思维导图)
- 形参改变实参的值不变(C语言基础知识加例题讲解)
- Linux 下 C 语言编程基础知识
- 【脚本语言系列】关于Python基础知识文件操作,你需要知道的事
- Go语言_基础学习篇
- JavaScript语言基础知识6
- 编译型语言和解释型语言的区别和优劣(基础知识了解)
- Java 语言基础知识(一)
- 编译型语言和解释型语言的区别和优劣(基础知识了解)
- 学ios需要了解的C语言基础知识-9-预处理指令宏定义啥的
- C语言基础知识整理(三)
- IOS开发之路--C语言基础知识
- 学习笔记:第6章 程序语言基础知识
- 黑马程序员--C语言基础之--数组、指针的基础知识