Go基础(复杂类型):函数值

简介: 函数值函数也是值。它们可以像其它值一样传递。 函数值可以用作函数的参数或返回值。一、下面来看一个函数值的例子package mainimport ( "fmt" "math")fun...

函数值

函数也是值。它们可以像其它值一样传递。
函数值可以用作函数的参数或返回值。


一、下面来看一个函数值的例子

package main

import (
    "fmt"
    "math"
)

func compute(fn func(float64, float64) float64) float64 {
    return fn(3, 4)
}

func main() {
    hypot := func(x, y float64) float64 {
        //a=169
        a := x*x + y*y
        //这个地方是求平方根
        return math.Sqrt(a)
    }
    fmt.Println(hypot(5, 12))

    //这个地方是5
    fmt.Println(compute(hypot))

    //math.Pow()是x的y次幂
    //这里就是3的4次幂
    fmt.Println(compute(math.Pow))
}

输出结果:

API server listening at: 127.0.0.1:61828
13
5
81
目录
相关文章
|
3月前
|
安全 Go 开发工具
Go语言学习6-字典类型
【1月更文挑战第7天】本篇 Huazie 介绍 Go语言中的字典类型
28 1
Go语言学习6-字典类型
|
3月前
|
Go 数据安全/隐私保护 索引
Go语言学习5-切片类型
【1月更文挑战第4天】本篇 Huazie 带大家了解 Go 语言的切片类型
38 2
Go语言学习5-切片类型
|
3月前
|
存储 设计模式 Cloud Native
云原生系列Go语言篇-类型、方法和接口 Part 1
通过前面章节的学习,我们知道Go是一种静态类型语言,包含有内置类型和用户定义类型。和大部分现代编程语言一样,Go允许我们对类型关联方法。它也具备类型抽象,可以编写没有显式实现的方法。
50 0
|
4月前
|
JSON JavaScript Go
Go 语言学习指南:变量、循环、函数、数据类型、Web 框架等全面解析
掌握 Go 语言的常见概念,如变量、循环、条件语句、函数、数据类型等等。深入了解 Go 基础知识的好起点是查阅 Go 官方文档
429 2
|
1月前
|
Go Windows
|
1月前
|
消息中间件 编译器 数据库连接
|
2月前
|
Go 开发者
Go语言函数的高级特性探索
【2月更文挑战第4天】本文旨在深入解析Go语言中函数的高级特性,包括可变参数函数、函数作为值传递、函数作为参数传递、函数作为返回值、函数指针以及泛型函数等。通过掌握这些高级特性,你将能够编写更加灵活和强大的Go语言程序。
|
2月前
|
Go
说说Go语言的main函数
说说Go语言的main函数
17 0
|
2月前
|
Java Go 数据安全/隐私保护
Go语言学习7-函数类型
本篇 Huazie 向大家介绍 Go 语言的函数类型
34 1
Go语言学习7-函数类型
|
3月前
|
安全 Java Go
Go 调用 C/C++ 函数全攻略
Go 调用 C/C++ 函数全攻略
121 0