Go语言基础知识
来源:互联网 发布:美中国际 知乎 编辑:程序博客网 时间:2024/05/22 14:42
数组声明
- var balance [10] float32
Range使用
- range作用于切片或数组,返回idex和value
- range作用于map,返回key, value或key
- range作用于字符,The first value is the starting byte index of the rune and the second the rune itself.
package mainimport "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 mainimport "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 mainimport "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 mainimport "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 mainimport "fmt"func fact(n int) int { if n == 0 { return 1 } return n * fact(n-1)}func main() { fmt.Println(fact(5))}
阅读全文
0 0
- [go语言]基础知识
- Go语言基础知识
- Go语言学习笔记一、基础知识
- Go基础知识
- 【Go】Go语言初学
- Go语言
- Go语言
- Go语言
- go语言
- go语言
- Go语言
- Go语言
- Go语言
- go语言
- Go语言
- Go语言
- go 语言
- go语言
- PAC配合ss
- 史上最详细的Hadoop环境搭建
- 移植LINUX的外围设备驱动到QNX系统,linux程序移植到QNX
- android 基础面试题锦记(3) Activity
- Zookeeper的集群安装和配置
- Go语言基础知识
- Python编程 从入门到实践 第六章 字典
- angular.injector
- 日常总结(不定期)
- 可变参数函数
- 4.常见的消息中间件
- win7下安装NetBeans找不到jdk的处理
- java根据链接或者文字生成二维码
- navicat 快捷键