Can anyone tell me what's wrong with this code. I'm new to GO. | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
+ 2

Can anyone tell me what's wrong with this code. I'm new to GO.

We need to take 3 inputs within range 0-10 and should output the relevent word. Example If we input 2 then it outputs "Two". https://code.sololearn.com/c5Di598eYcf2/?ref=app

4th May 2021, 2:02 AM
Geethika Sewwandi
Geethika Sewwandi - avatar
6 Answers
+ 3
The following works instead: package main import "fmt" func main() { //your code goes here for x:=0; x<3; x++ { var num int fmt.Scanln(&num) switch num { case 0: fmt.Println("Zero") case 1: fmt.Println("One") case 2: fmt.Println("Two") case 3: fmt.Println("Three") case 4: fmt.Println("Four") case 5: fmt.Println("Five") case 6: fmt.Println("Six") case 7: fmt.Println("Seven") case 8: fmt.Println("Eight") case 9: fmt.Println("Nine") case 10: fmt.Println("Ten") } } } 2 changes were needed: - move { to end of the switch line like: switch num { - replace "case num==0:" with "case 0:"
4th May 2021, 2:16 AM
Josh Greig
Josh Greig - avatar
+ 2
Yeah, maybe they took that pickiness from Python. Python cares a lot about indentation and Go doesn't. Go cares about where the brackets go but Python just has no brackets. I wish new languages didn't try so hard to be different when they don't need to be. It adds extra learning curve for no clear reason.
4th May 2021, 2:27 AM
Josh Greig
Josh Greig - avatar
+ 1
Thank you Josh. Then, the place of the braces is important in GO. I thought we can put anywhere. 😁
4th May 2021, 2:24 AM
Geethika Sewwandi
Geethika Sewwandi - avatar
+ 1
Yep, GO has many things similar to java, c++... It looks like a mix of features from all these languages.
4th May 2021, 2:30 AM
Geethika Sewwandi
Geethika Sewwandi - avatar
+ 1
Here is a shorter solution instead of using a switch: package main import "fmt" func main() { words := [11]string{"Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten"} for i:=0; i < 3; i++ { var num int fmt.Scanln(&num) fmt.Println(words[num]) } }
4th May 2021, 2:39 AM
Josh Greig
Josh Greig - avatar
+ 1
I think that's the best answer. It makes code more simpler . If we use switch we need to write more lines. So using arrays we can do it simply. I think I need to practice again. Thank you Josh.
4th May 2021, 2:48 AM
Geethika Sewwandi
Geethika Sewwandi - avatar