参数为指针的函数
函数可以有指针类型的参数。ptrFun.go
的代码将说明指针作为函数参数的使用。
ptfFun.go
的第一部分如下:
package main
import (
"fmt"
)
func getPtr(v *float64) float64 {
return *v * *v
}
getPrt()
函数接收一个指向 float64
值的指针。
第二段代码如下:
func main() {
x := 12.2
fmt.Println(getPrt(&x))
x = 12
fmt.Println(getPtr(&x))
}
这里您需要传递变量的地址给 getPtr()
函数,因为它需要一个指针参数,传地址需要在变量前放一个 & 符号(&x)。
执行 ptrFun.go
产生如下输出:
$go run ptrFun.go
148.83999999999997
144
如果您直接传值如:12.2
给 getPtr()
,并调用它如:getPtr(12.12)
,那么程序编译失败,显示下面的错误信息:
$go run ptrFun.go
# command-line-arguments
./ptrFun.go:15:21: cannot use 12.12 (type float64) as type *float64 in argument to getPtr
最后编辑: kuteng 文档更新时间: 2021-03-27 20:14 作者:kuteng