gpt4 book ai didi

go - golang中如何传递变量

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

package main

import (
"fmt"
"bufio"
"os"
"strconv"
"math"
)

func main() {
var inpA = bufio.NewScanner(os.Stdin)
var inpB = bufio.NewScanner(os.Stdin)
var inpC = bufio.NewScanner(os.Stdin)
fmt.Print("input A value: ")
inpA.Scan()
fmt.Print("input B value: ")
inpB.Scan()
fmt.Print("input C value: ")
inpC.Scan()
cal(inpA.Text(),inpB.Text(),inpC.Text())
}

func cal(INP1, INP2, INP3) string{
b := INP2
a := INP1
c := INP3
e := 4
la := 2
a2 := float64(e)*float64(a)
b2 := float64(b*b)
ac := float64(e)*float64(a)*float64(c)
q := math.Sqrt(math.Abs(b2-ac))
x := q/a2
Rx := x
fmt.Print("x = " + strconv.Itoa(Rx))
}

我做错了什么?我只想将输入传递给 func cal。我在打印 Rx 时也遇到了问题。因为它是一个 float 。那么如何将 x/RX 更改为非 float ?

最佳答案

@JimB 是否已经指出 func cal 没有参数类型。此外它还有其他值得关注的问题:

  1. 将函数调用的参数类型设置为字符串
  2. 为了使用 a、b 和 c,将其值转换为 float64
  3. la 没有被使用
  4. Rx需要转成字符串
  5. func 没有返回任何东西。

看看这个更新后的函数:

func cal(INP1, INP2, INP3 string) string{
b,_ := strconv.ParseFloat(INP2, 64)
a,_ := strconv.ParseFloat(INP1, 64)
c,_ := strconv.ParseFloat(INP3, 64)
e := 4
la := 2
a2 := float64(e)*float64(a)
b2 := float64(b*b)
ac := float64(e)*float64(a)*float64(c)
q := math.Sqrt(math.Abs(b2-ac))
x := q/a2
Rx := x
fmt.Print("x = " + strconv.FormatFloat(Rx, 'f', 6, 64))
fmt.Print(la)
return "return value"
}

现在我通过打印来使用 la。

关于go - golang中如何传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34044496/

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