What if you could write one instruction that works for many different tasks just by changing a few details?
Why Function parameters in Go? - Purpose & Use Cases
Imagine you want to bake a cake and write down every single step for each cake size separately. For a small cake, you write one recipe; for a big cake, another. You repeat almost the same instructions but change the amounts manually each time.
This manual way is slow and confusing. If you want to change the baking time or ingredients, you must update every recipe separately. It's easy to make mistakes or forget one, leading to inconsistent cakes.
Function parameters let you write one recipe that accepts the cake size as input. You just tell the function the size, and it adjusts the ingredients and baking time automatically. This saves time and avoids errors.
func bakeSmallCake() {
// ingredients for small cake
// bake for 30 minutes
}
func bakeBigCake() {
// ingredients for big cake
// bake for 60 minutes
}func bakeCake(size string) {
if size == "small" {
// ingredients for small cake
// bake for 30 minutes
} else if size == "big" {
// ingredients for big cake
// bake for 60 minutes
}
}Function parameters let you create flexible, reusable code that works for many situations by just changing inputs.
When building a calculator app, you can write one function to add numbers, and by passing different numbers as parameters, it adds any two numbers without rewriting code.
Function parameters let you customize how a function works without rewriting it.
They save time and reduce mistakes by avoiding repeated code.
Parameters make your code flexible and easier to maintain.
Practice
Solution
Step 1: Understand what parameters do
Parameters let you give information to a function when you call it.Step 2: Identify the correct purpose
Sending data into functions makes them flexible and reusable with different inputs.Final Answer:
To send data into functions so they can use it -> Option DQuick Check:
Function parameters = send data into functions [OK]
- Thinking parameters create functions
- Confusing parameters with output
- Believing parameters stop function execution
Solution
Step 1: Review Go function parameter syntax
In Go, you can group parameters of the same type likea, b int.Step 2: Identify correct syntax
func add(a, b int) int {}groups same type parameters correctly.func add(a int, b) int {}misses type forb.func add(int a, int b) int {}places types before names.func add(a int b int) int {}lacks commas.Final Answer:
func add(a, b int) int {} -> Option AQuick Check:
Group same type params: a, b int [OK]
- Writing types before variable names (like C)
- Missing commas between parameters (like D)
- Forgetting type for second parameter (like B)
package main
import "fmt"
func greet(name string) {
fmt.Println("Hello, " + name)
}
func main() {
greet("Alice")
}Solution
Step 1: Understand function call with parameter
The functiongreettakes a string parameternameand prints "Hello, " plus that name.Step 2: Check the argument passed
Inmain,greet("Alice")is called, sonameis "Alice".Final Answer:
Hello, Alice -> Option BQuick Check:
Function prints "Hello, " + argument [OK]
- Confusing parameter name with string literal
- Expecting no output
- Thinking it causes error without return
func multiply(a int, b int) int {
return a * b
}
func main() {
result := multiply(3)
fmt.Println(result)
}Solution
Step 1: Check function call arguments
The functionmultiplyrequires two int parameters, but it is called with only one argument3.Step 2: Identify the error
This causes a compile-time error due to wrong number of arguments.Final Answer:
Function multiply called with wrong number of arguments -> Option AQuick Check:
Function call args must match parameters [OK]
- Ignoring missing import for fmt (not shown here)
- Thinking return type is missing
- Assuming variable declaration error
func sumAndProduct(a, b int) (int, int) {
return a + b, a * b
}
func main() {
s, p := sumAndProduct(4, 5)
fmt.Println(s, p)
}
What will be the output when the program runs?Solution
Step 1: Understand multiple return values
The functionsumAndProductreturns two integers: sum and product ofaandb.Step 2: Check values for inputs 4 and 5
Sum is 4 + 5 = 9, product is 4 * 5 = 20. These are assigned tosandp.Step 3: Print output
fmt.Println(s, p)prints "9 20".Final Answer:
9 20 -> Option CQuick Check:
Multiple returns print sum then product [OK]
- Swapping sum and product values
- Expecting single return value
- Thinking missing return error
Ready to prove it?
Pass the test and this pattern moves unknown
