Golang中传递函数参数的实现方法及示例代码 https://play.golang.org/p/6QAnd--O_hP
Golang中传递函数参数的实现方法及示例代码 https://play.golang.org/p/6QAnd--O_hP https://play.golang.org/p/6QAnd–O_hP
这里传递的是哪个函数?
感谢提供的信息
更多关于Golang中传递函数参数的实现方法及示例代码 https://play.golang.org/p/6QAnd--O_hP的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
两者都令我着迷。Go语言对我来说非常迷人。
这与任何现代编程语言都没有太大区别。
我是新来的,还不到一年
谢谢。你最近一直非常友善,也提供了很多帮助
"这个"指的是什么?是命名事物还是传递函数?
很遗憾,除了打招呼和说"我喜欢你的狗"之外,我对我的邻居们一无所知。
这让我觉得非常有趣
当我搬到现在的住处时,也有同样的感受。但实际搜索当地的用户群组和线下聚会确实帮助我结识了更多人,最终甚至让我有机会接触到目前雇主的门槛。
相信我,我并没有改变想法,仍然认为你应该在附近找个人教你最基本的概念,这些概念你在过去大约6个月里一直没能理解。你仍然在原地打转。
// 代码块保留区域
2 个赞
谢谢。我认为这回答了我另一个问题,但我之前不知道如何表述。问题是,在 func sum(x ...int) int { 中,sum 是函数的随机命名,还是预先确定的?
func sum(x ...int) int {
正在学习这篇帖子。
在 for _, v := range x 中,v 是否始终代表值?还是 v 是任意选择的(我似乎反复问这个问题,但我想确认它在所有情况下都成立)?
for _, v := range x {
// 代码逻辑
}
有趣。
搜索本地用户群组和线下聚会确实有助于结识更多人。
很惭愧地说,我忘了您之前教导的引用标记方法,也找不到您指导我的具体位置。
我很乐意尝试!我姐姐向我推荐了一个叫Slack的工具。虽然已经下载但还没开始使用。我觉得它可能有着相似的目标。(其实我还在等她指导)
在这一行:
t := evenSum(sum, []int{1, 2, 3, 4, 5, 6, 7, 8, 9}...)
您正在将函数 sum 传递给函数 evenSum。
在 evenSum 中,它通过函数参数绑定到 f(f func(x ...int) int 使得 f 能够接受任何可变参数且仅接受 int 类型的函数)。
当我提到"邻里"时,我指的不是开门就能看到的那些房屋。这更多是一种比喻意义上的概念。邻里意味着所有那些不需要花费太多时间或金钱就能到达的地方。
对我来说,这大致上是我家与办公室之间宽3公里的走廊区域,总面积约90平方公里。
如果我把车停在换乘停车场,这个范围还能再扩大20到30平方公里,因为有些地区乘坐火车/公交车比开车更容易到达。
不过,如果你像我年轻时那样住在技术欠发达的村庄,我多少能理解在那里很难找到志同道合的技术爱好者。但在那样的村庄里,人们通常对街对面的邻居了解得比你描述的要多得多。
range 返回1个或2个值。第一个值总是索引/键(取决于 range 参数的类型),第二个值是实际的值。
在遍历 map[…]… 类型时使用 k 和 v,或在遍历数组或切片类型时使用 i 和 v,这是常见的编程习惯。
但由于命名是代码文档的一部分,我也经常倾向于使用有意义的名称。通常直接使用容器名称的单数形式(我通常对集合类型使用复数形式)。
for _, name := range names {
fmt.Println(name)
}
在您提供的示例代码中(https://play.golang.org/p/6QAnd–O_hP),传递的函数是 multiply,它被作为参数传递给 doMath 函数。具体来说,doMath 函数的第二个参数是一个函数类型 func(int, int) int,而 multiply 函数正好匹配这个签名(接受两个 int 参数并返回一个 int)。
以下是代码的简要说明:
multiply函数:实现两个整数的乘法运算。doMath函数:接受一个函数参数f(类型为func(int, int) int)和两个整数参数a和b,然后调用f(a, b)并返回结果。
示例代码:
package main
import "fmt"
func multiply(a, b int) int {
return a * b
}
func doMath(f func(int, int) int, a, b int) int {
return f(a, b)
}
func main() {
result := doMath(multiply, 5, 3)
fmt.Println(result) // 输出:15
}
在 main 函数中,doMath(multiply, 5, 3) 将 multiply 函数作为参数传递,最终计算并输出 5 * 3 = 15。

