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 函数添加了返回类型,但它不起作用。它还一直说已导入但未使用:“fmt”。
最佳答案
如果你定义一个有返回值的函数,你还需要返回一些东西:
func getLetter(value int) string {
return ""
}
这将修复您的第一个错误。
对于第二个错误,只需删除 import ( "fmt") 部分。 Go 不允许您导入包然后不使用它。
编辑:正如建议的那样:在文件上运行 go imports 将自动添加/删除导入。有些编辑器会在每次为您保存时自动执行此操作。我更喜欢 Goland,但 VSCode 也有一个很棒的 Go-Plugin。当然还有其他支持 Go 的优秀编辑器。
与变量相同:inputString 和 letter 已声明但未使用。如果您仍处于编程阶段但已经想运行它,您可以打印变量:
fmt.Println(inputString, letter)
或者将它们分配给空的接收者:
_ = inputString
然后编译器认为它们已被使用。
这里是您的可运行代码:playground
关于go - 在 Go 语言中,函数末尾缺少 return,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49340537/
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re
我正在尝试用ruby中的gsub函数替换字符串中的某些单词,但有时效果很好,在某些情况下会出现此错误?这种格式有什么问题吗NoMethodError(undefinedmethod`gsub!'fornil:NilClass):模型.rbclassTest"replacethisID1",WAY=>"replacethisID2andID3",DELTA=>"replacethisID4"}end另一个模型.rbclassCheck 最佳答案 啊,我找到了!gsub!是一个非常奇怪的方法。首先,它替换了字符串,所以它实际上修改了
我有一些代码在几个不同的位置之一运行:作为具有调试输出的命令行工具,作为不接受任何输出的更大程序的一部分,以及在Rails环境中。有时我需要根据代码的位置对代码进行细微的更改,我意识到以下样式似乎可行:print"Testingnestedfunctionsdefined\n"CLI=trueifCLIdeftest_printprint"CommandLineVersion\n"endelsedeftest_printprint"ReleaseVersion\n"endendtest_print()这导致:TestingnestedfunctionsdefinedCommandLin
给定以下方法:defsome_method:valueend以下语句按我的预期工作:some_method||:other#=>:valuex=some_method||:other#=>:value但是下面语句的行为让我感到困惑:some_method=some_method||:other#=>:other它按预期创建了一个名为some_method的局部变量,随后对some_method的调用返回该局部变量的值。但为什么它分配:other而不是:value呢?我知道这可能不是一件明智的事情,并且可以看出它可能有多么模棱两可,但我认为应该在考虑作业之前评估作业的右侧...我已经在R
如何在Ruby中按名称传递函数?(我使用Ruby才几个小时,所以我还在想办法。)nums=[1,2,3,4]#Thisworks,butismoreverbosethanI'dlikenums.eachdo|i|putsiend#InJS,Icouldjustdosomethinglike:#nums.forEach(console.log)#InF#,itwouldbesomethinglike:#List.iternums(printf"%A")#InRuby,IwishIcoulddosomethinglike:nums.eachputs在Ruby中能不能做到类似的简洁?我可以只
说在前面这部分我本来是合为一篇来写的,因为目的是一样的,都是通过独立按键来控制LED闪灭本质上是起到开关的作用,即调用函数和中断函数。但是写一篇太累了,我还是决定分为两篇写,这篇是调用函数篇。在本篇中你主要看到这些东西!!!1.调用函数的方法(主要讲语法和格式)2.独立按键如何控制LED亮灭3.程序中的一些细节(软件消抖等)1.调用函数的方法思路还是比较清晰地,就是通过按下按键来控制LED闪灭,即每按下一次,LED取反一次。重要的是,把按键与LED联系在一起。我打算用K1来作为开关,看了一下开发板原理图,K1连接的是单片机的P31口,当按下K1时,P31是与GND相连的,也就是说,当我按下去时
我想知道Ruby用来在命令行打印这些东西的输出流:irb(main):001:0>a="test"=>"test"irb(main):002:0>putsatest=>nilirb(main):003:0>a=>"test"$stdout是否用于irb(main):002:0>和irb(main):003:0>?而且,在这两次调用之间,$stdout的值是否有任何变化?另外,有人能告诉我打印/写入这些内容的Ruby源代码吗? 最佳答案 是的。而且很容易向自己测试/证明。在命令行试试这个:ruby-e'puts"foo"'>test.
我需要一个通过输入字符串进行计算的方法,像这样function="(a/b)*100"a=25b=50function.something>>50有什么方法吗? 最佳答案 您可以使用instance_eval:function="(a/b)*100"a=25.0b=50instance_evalfunction#=>50.0请注意,使用eval本质上是不安全的,尤其是当您使用外部输入时,因为它可能包含注入(inject)的恶意代码。另请注意,a设置为25.0而不是25,因为如果它是整数a/b将导致0(整数)。
我需要从json记录中获取一些值并像下面这样提取curr_json_doc['title']['genre'].map{|s|s['name']}.join(',')但对于某些记录,curr_json_doc['title']['genre']可以为空。所以我想对map和join()使用try函数。我试过如下curr_json_doc['title']['genre'].try(:map,{|s|s['name']}).try(:join,(','))但是没用。 最佳答案 你没有正确传递block。block被传递给参数括号外的方法