【问题标题】:In Go language missing return at end of function在 Go 语言中,函数末尾缺少返回
【发布时间】:2018-03-17 18:39:09
【问题描述】:
package main
import (
       "fmt"
)


func iLoveGoLang(sign string) (int , int) {
  if sign == "!" {
    return (14 - 2),( 3 + 3 - 6);
} else if sign == "@" {
    return (41 - (20 * 2)),(5 - 4)
}  else if sign == "$" {
    return 1,3
} else if sign == "^" {
    return 2,2
}  else if sign == "5" {
    return 3, 2
} else if sign == "(" {
    return (4 * 2) - 1, 1 
} else if sign == ")" {
    return (2*2), 2
} else if sign == "d" {
    return 2, 5
} else if sign == ">" {
    return (3 * 3) + 2, 1
} else if sign == "~" {
    return (2 * 2), (3 * 1)
} else if sign == "#" {
    return 2,1
} else if sign == "+" {
    return 13,1
} else if sign == "&" {
    return (2+3),1
} else if sign == "/" {
    return (3 + 4), 2
} else if sign == ";" {
    return (33 / 11), 3
} else if sign == "e" {
    return (2 + 3), (8 - 5)
}


    return -1,1
}

 func getLetter(value int) string {



 } 


  func main() {
  var inputString = "^(>));@&^$^d5(5>/()!ed(e5>/&e&!^"

  var gdg, srilanka = iLoveGoLang("@")
  var letter = getLetter(gdg * srilanka)

//you need to do that for all letters.

 }

我无法获得输出。虽然我向getLetter 函数添加了返回类型,但它不起作用。它还一直说imported and not used:“fmt”。

【问题讨论】:

标签: go set-returning-functions


【解决方案1】:

如果你定义了一个有返回值的函数,你还需要返回一些东西:

func getLetter(value int) string {
    return ""
} 

这将修复您的第一个错误。

对于第二个错误,只需删除 import ( "fmt" ) 部分。 Go 不允许你导入一个包然后不使用它。

编辑:正如建议的那样:在文件上运行 go imports 将自动添加/删除导入。有些编辑器会在每次保存时自动为您执行此操作。我更喜欢 Goland,但 VSCode 也有一个很棒的 Go-Plugin。当然还有其他支持 Go 的优秀编辑器。

与变量相同:inputStringletter 已声明但未使用。如果您仍处于编程阶段但想运行它,您可以打印变量:

fmt.Println(inputString, letter)

或将它们分配给空接收器:

_ = inputString

然后编译器认为它们已被使用。

以可运行方式显示您的代码:playground

【讨论】:

  • 但如果不适用 ^(>));@&^$^d5(5>/()!ed(e5>/&e&!^ 你能告诉我这是什么意思吗?返回 (14 - 2), (3 + 3 - 6)
  • return (14 - 2), (3 + 3 - 6) 的含义是它返回两个数字 12 和 0(函数有 2 个 int 类型的输出)。我无法帮助您了解程序的逻辑,因为您没有说它应该做什么。
  • 我想用我的逻辑返回一个值 ^(>));@&^$^d5(5>/()!ed(e5>/&e&!^ 必须是 32 hexa desimals 作为 ")" 的示例需要返回 4,2
猜你喜欢
  • 1970-01-01
  • 2017-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 2016-10-24
相关资源
最近更新 更多