gpt4 book ai didi

function - 不带括号的 Golang 函数调用

转载 作者:数据小太阳 更新时间:2023-10-29 03:30:21 27 4
gpt4 key购买 nike

我正在阅读他们网站上的 Golang 教程,我对我在此处简化和复制的类似代码感到困惑:

package main

import (
"fmt"
"math"
)

func main() {
a := math.Sqrt2
fmt.Println(a)
}

这会在沙盒中打印 1.4142135623730951。将 a := math.Sqrt2 替换为 a := math.Sqrt(2) 会做同样的事情,但我很困惑如何在没有括号的情况下调用该函数。 math.Sqrt 在这里不是函数指针(反正没有math.Sqrt2函数,它是一个没有任何括号传递的函数。Go文档here中的函数是列为:func Sqrt(x float64) float64 即带有参数。那么它是如何工作的?是否只是因为 math.Sqrt() 是一个简单的函数,Go可以假设它是一个没有传递括号的 float64 吗?我错过了什么吗?

如果有帮助,我原来在第14行的教程中发现了这个现象here。如果有人能向我解释这个功能,那就太棒了。我很想了解它。

最佳答案

这里没有什么特别的事情发生。 math.Sqrt2 是一个常量。您可以在 docsmath 包中找到其他常量。 .

总的来说,go 并没有什么“魔力”。因此,如果某件事感觉有点神奇,那很可能只是一场误会。

关于function - 不带括号的 Golang 函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53309537/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com