Functions in Go

In Go, functions are blocks of code that perform specific tasks, which can be reused throughout the program to save memory, improve readability, and save time. Golang functions may or may not return a value to the caller.

Functions in Go

Things to know about functions in Golang

For example:

package main
import "fmt"

// multiply() nhân 2 số nguyên và trả về kết quả
func multiply(a, b int) int {
    return a * b
}

func main() {
    result := multiply(5, 10)
    fmt.Printf("multiplication: %d", result)
}

Result:

multiplication: 50

Function syntax in Golang

func function_name(Parameter-list)(Return_type) {
    // function body...
}

Function declaration

In Go, a function is declared with the func keyword, followed by a name, parameters, and optional return type.

Syntax

func function_name(Parameter-list)(Return_type) {
    // function body...
}

Multiply function example

func multiply(a, b int) int {
    return a * b
}

func: Keyword to declare a function.
function_name: Name of the function, for example: multiply.
Parameter-list: a, b int—the parameters along with their types.
Return_type: int specifies the return type.

Call function

To use a function, simply call it by its name with any necessary arguments. Here, multiply(5, 10) calls the function with 5 and 10 as arguments.

For example

result := multiply(5, 10)
fmt.Printf("Result of multiplication: %d", result)

Function arguments

Go supports two ways to pass parameters to a function: Call by value and Call by reference. By default, Go uses call by value, which means that values ​​are copied and changes inside the function do not affect the caller's variables.

Call by value

In call by value, the values ​​of the arguments are copied into the function parameters, so changes in the function do not affect the original variables.

For example:

package main
import "fmt"

func multiply(a, b int) int {
    a = a * 2 // chỉnh sửa bên trong hàm này
    return a * b
}

func main() {
    x := 5
    y := 10
    fmt.Printf("Before: x = %d, y = %d\n", x, y)
    result := multiply(x, y)
    fmt.Printf("multiplication: %d\n", result)
    fmt.Printf("After: x = %d, y = %d\n", x, y)
}

Result:

Before: x = 5, y = 10
multiplication: 100
After: x = 5, y = 10

Call by reference

In call by reference, pointers are used so that changes inside the function are reflected in the caller's variables.

For example:

package main
import "fmt"

func multiply(a, b *int) int {
    *a = *a * 2 // chỉnh sửa giá trị của a ở địa chỉ bộ nhớ của nó
    return *a * *b
}

func main() {
    x := 5
    y := 10
    fmt.Printf("Before: x = %d, y = %d\n", x, y)
    result := multiply(&x, &y)
    fmt.Printf("multiplication: %d\n", result)
    fmt.Printf("After: x = %d, y = %d\n", x, y)
}

Result

Before: x = 5, y = 10
multiplication: 100
After: x = 10, y = 10

Leave a Comment

Desk Decorating Ideas for a Spooky Office Cubicle

Desk Decorating Ideas for a Spooky Office Cubicle

Create a spooky office cubicle with Halloween desk decor ideas that keep your workspace usable, tidy, and mindful of workplace safety.

Pop Culture Costume Ideas That Will Dominate Halloween 2026

Pop Culture Costume Ideas That Will Dominate Halloween 2026

Plan a recognizable Halloween 2026 look with pop culture costumes inspired by Spider-Man, Supergirl, Toy Story 5, Moana, Mario, and Wednesday.

Leftover Halloween Candy and Pumpkins: What to Do Next

Leftover Halloween Candy and Pumpkins: What to Do Next

Sort leftover Halloween candy safely, share or repurpose sealed treats, and choose food use or compost for pumpkins based on their condition.

What Not to Wear: A Guide to Professional Workplace Halloween Etiquette

What Not to Wear: A Guide to Professional Workplace Halloween Etiquette

Compare workplace Halloween costume choices by respect, dress code, mobility, and safety—and learn when a subtle accessory or a policy check is the better option.

Couples Costume Ideas for 2026: Iconic Pairs and Clever Tropes

Couples Costume Ideas for 2026: Iconic Pairs and Clever Tropes

Find a couples costume that fits your style, budget, and comfort level, from Addams Family classics to original inside-joke duos.

Last-Minute High School Halloween Costumes That Take 5 Minutes

Last-Minute High School Halloween Costumes That Take 5 Minutes

Need a last-minute high school Halloween costume? Compare 10 easy closet-based ideas by prep time, comfort, school-day practicality, and simple safety checks.

When to Start Decorating for Halloween in 2026

When to Start Decorating for Halloween in 2026

Use a simple 2026 Halloween decorating timeline for indoor décor, outdoor displays, and fresh pumpkins, with practical adjustments for weather and events.

5 Halloween Cocktails That Are Easy to Serve at Your 2026 Bash

5 Halloween Cocktails That Are Easy to Serve at Your 2026 Bash

Mix five vivid, approachable Halloween cocktails with measured recipes, simple prep tips, and an alcohol-free option for your party guests.

15 HR-Approved Office Halloween Costumes for 2026

15 HR-Approved Office Halloween Costumes for 2026

Find 15 office-friendly Halloween costume ideas for 2026, with practical checks for dress codes, respectful themes, comfort, and workplace safety.

Spooky but Sweet: Halloween Party Ideas for Elementary Schools

Spooky but Sweet: Halloween Party Ideas for Elementary Schools

Plan a fun elementary school Halloween party with easy crafts, games, inclusive treats, costume tips, and a sample 75-minute classroom schedule.