65_Go基础_1_32 函数变量
作者:互联网
1 package main 2 3 import "fmt" 4 5 func main() { 6 /* 7 Go语言的数据类型: 8 9 数值类型:整数,浮点 10 进行运算操作,加减乘除,打印 11 字符串: 12 可以获取单个字符,截取子串,遍历,strings包下的函数操作。。 13 数组,切片,map。。 14 存储数据,修改数据,获取数据,遍历数据。。。 15 函数: 16 加(),进行调用 17 18 注意点: 19 函数作为一种复合数据类型,可以看做是一种特殊的变量。 20 函数名():将函数进行调用,函数中的代码会全部执行,然后将return的结果返回给调用处 21 函数名:指向函数体的内存地址 22 23 */ 24 25 // 1.整型 26 a := 10 27 //运算: 28 a += 5 29 fmt.Println("a:", a) 30 31 // 2.数组,切片,map。。容器 32 b := [4]int{1, 2, 3, 4} 33 b[0] = 100 34 for i := 0; i < len(b); i++ { 35 fmt.Printf("%d\t", b[i]) 36 } 37 fmt.Println() 38 39 // 3.函数做一个变量 40 fmt.Printf("%T\n", fun1) // func(int, int) 41 fmt.Println(fun1) // fun1 0x31e1c0,看做函数名对应的函数体的地址 42 43 // 4.直接定义一个函数类型的变量 44 var c func(int, int) 45 fmt.Println(c) // <nil> 空 46 47 // var d string 48 // d = "hello" 49 c = fun1 // 将fun1的值(函数体的地址)赋值给c 50 fmt.Println(c) // 0x31e1c0 51 52 fun1(10, 20) // a:10,b:20 53 c(100, 200) // c也是函数类型的,加小括号也可以被调用 a:100,b:200 54 55 res1 := fun2 // 将fun2的值(函数的地址)赋值给res1,res1和fun2指向同一个函数体 56 res2 := fun2(1, 2) // 将fun2函数进行调用,将函数的执行结果赋值给res2,相当于:a+b 57 fmt.Println(res1) // 0x31e1a0 58 fmt.Println(res2) // 3 59 60 fmt.Println(res1(10, 20)) // 也可以被调用 30 61 // res2() //cannot call non-function res2 (type int) 62 } 63 func fun2(a, b int) int { 64 return a + b 65 } 66 func fun1(a, b int) { 67 fmt.Printf("a:%d,b:%d\n", a, b) 68 }
标签:fun1,函数,fun2,int,32,fmt,Println,65,Go 来源: https://www.cnblogs.com/luwei0915/p/15629779.html