登录
首页 >  Golang >  Go问答

不带括号的 Golang 函数调用

来源:stackoverflow

时间:2024-04-28 15:27:35 420浏览 收藏

在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是Golang学习者,那么本文《不带括号的 Golang 函数调用》就很适合你!本篇内容主要包括##content_title##,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

我正在他们网站上浏览 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 文档中的函数列出为: func sqrt(x float64) float64 即带有参数.那么它是如何工作的?仅仅因为 math.sqrt() 是一个简单的函数,go 就可以假设它是一个 float64 而不传递括号?我错过了什么吗?

如果有帮助的话,我最初在第 14 行的教程中发现了这种现象。如果有人可以向我解释这个功能,那就太棒了。我很想了解一下。


解决方案


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

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

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《不带括号的 Golang 函数调用》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>