• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

65_Go基础_1_32函数变量

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
 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 }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Vs code配置Go语言环境-Mac发布时间:2022-07-10
下一篇:
GO语言html模板发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap