Hi Cherolyn,

There is no receiver. To have a receiver, you must have types with methods. You haven’t defined either of those in your program.

“Parameter” is another name for “argument”. Someone may want to correct me on that and point out there is a difference, but to keep things simple, both words are used to describe the variables or literals that you put in parenthesis after the name of a function you are calling, like
func myFunction(a, b, c)
In the above, a
, b
, and c
are the parameters.

return
is a keyword in Go used for passing a value back from a function. In line 23 of your program, you wrote
return fmt.Sprint("Hello from woo, ", st)
It might help you to study a little mathematics (algebra) so you can learn how functions are used in mathematics. That’s where programming languages get the idea. Almost everyone who learns programming has taken a course like that in school, so when they encounter functions in programming languages, it seems very simple and obvious.
To say it very quickly, a function is something that takes some values (arguments), does some kind of operation with them that results in another value, and then the value of that function, for those arguments, is that result.
Suppose you have a calculator with a square root key. You press 2 then the square root key, and 1.41421 appears in the display. The calculator took 2 as the argument, ran the square root function with that, and the result was 1.41421. This can be written as
y = sqrt(x)
So if x is 2, sqrt(2) produces y = 1.41421.
I hope that helps.