Bird
Raised Fist0
Goprogramming~5 mins

Creating custom packages in Go - Quick Revision & Summary

Choose your learning style10 modes available
Recall & Review
beginner
What is a package in Go?
A package in Go is a way to organize and reuse code. It groups related functions, types, and variables together in one place.
Click to reveal answer
beginner
How do you create a custom package in Go?
To create a custom package, make a folder with your package name, write Go files starting with 'package packagename', and then use 'import' to use it in other files.
Click to reveal answer
beginner
Why should package names be short and lowercase?
Short and lowercase package names are easier to type and remember. They also follow Go's style guidelines for readability and consistency.
Click to reveal answer
beginner
How do you make a function accessible outside its package?
Start the function name with a capital letter. This makes it exported and usable by other packages.
Click to reveal answer
beginner
What is the purpose of the 'import' statement in Go?
The 'import' statement lets you use code from other packages, including your custom packages, by bringing their names and functions into your file.
Click to reveal answer
What keyword starts a Go source file to define its package?
Afunc
Bimport
Cpackage
Dvar
How do you use a custom package in another Go file?
ABy using 'include' keyword
BBy writing 'import "packagename"' at the top
CBy copying the code manually
DBy running 'go use packagename'
Which function name is exported and accessible outside its package?
ACalculateSum
BcalculateSum
Ccalculate_sum
D_CalculateSum
Where should you place your custom package files?
AIn a folder named after the package
BAnywhere on your computer
CIn the main Go installation folder
DInside the 'bin' folder
What is the recommended style for package names?
ALong and descriptive with uppercase letters
BWith underscores
CCamelCase
DShort and lowercase
Explain how to create and use a custom package in Go.
Think about folder structure, naming, exporting, and importing.
You got /4 concepts.
    Why is it important to export functions in a package, and how do you do it?
    Focus on function naming and visibility.
    You got /2 concepts.

      Practice

      (1/5)
      1. What is the main purpose of creating a custom package in Go?
      easy
      A. To organize code into reusable parts
      B. To make the program run faster
      C. To avoid using functions
      D. To write code without imports

      Solution

      1. Step 1: Understand the role of packages

        Packages help group related code together for reuse and clarity.
      2. Step 2: Identify the main benefit

        Custom packages allow you to reuse code in different parts of your program or in other programs.
      3. Final Answer:

        To organize code into reusable parts -> Option A
      4. Quick Check:

        Custom packages = reusable code [OK]
      Hint: Packages group code for reuse and clarity [OK]
      Common Mistakes:
      • Thinking packages speed up code execution
      • Believing packages remove the need for functions
      • Assuming packages eliminate imports
      2. Which of the following is the correct way to export a function from a custom package in Go?
      easy
      A. func MyFunction() {}
      B. func my_function() {}
      C. func _MyFunction() {}
      D. func myFunction() {}

      Solution

      1. Step 1: Recall Go export rules

        In Go, only names starting with an uppercase letter are exported (visible outside the package).
      2. Step 2: Check function names

        Only 'MyFunction' starts with uppercase, so it is exported.
      3. Final Answer:

        func MyFunction() {} -> Option A
      4. Quick Check:

        Uppercase start = exported function [OK]
      Hint: Exported names start with uppercase letters [OK]
      Common Mistakes:
      • Using lowercase to export functions
      • Using underscores to export
      • Assuming snake_case exports functions
      3. Given a package named mathutil with an exported function Square, what is the output of this code?
      package main
      
      import (
        "fmt"
        "mathutil"
      )
      
      func main() {
        fmt.Println(mathutil.Square(4))
      }
      medium
      A. Square(4)
      B. 16
      C. Error: undefined mathutil
      D. 0

      Solution

      1. Step 1: Understand the function call

        The code calls mathutil.Square(4), which should return 4 squared (4*4).
      2. Step 2: Calculate the expected output

        4 multiplied by 4 equals 16, so the output is 16.
      3. Final Answer:

        16 -> Option B
      4. Quick Check:

        Square(4) = 16 [OK]
      Hint: Square means multiply number by itself [OK]
      Common Mistakes:
      • Assuming function name prints as string
      • Thinking import fails without path
      • Expecting zero as default output
      4. What is wrong with this custom package usage?
      package main
      
      import (
        "fmt"
        "mypkg"
      )
      
      func main() {
        fmt.Println(mypkg.helper())
      }

      Assuming helper is a function in mypkg.
      medium
      A. Package name must be Main to import
      B. fmt.Println cannot print function results
      C. Import path must be a URL
      D. Function name should start with uppercase to be accessible

      Solution

      1. Step 1: Check function visibility rules

        In Go, only functions starting with uppercase letters are exported and accessible outside their package.
      2. Step 2: Identify the function name issue

        The function is named 'helper' (lowercase), so it is not accessible from main package.
      3. Final Answer:

        Function name should start with uppercase to be accessible -> Option D
      4. Quick Check:

        Lowercase function = not exported [OK]
      Hint: Exported functions start uppercase [OK]
      Common Mistakes:
      • Thinking package name must be Main
      • Believing import path must be URL
      • Assuming fmt.Println can't print function output
      5. You want to create a custom package stringutil with a function Reverse that reverses a string. Which of the following is the correct way to define and use it in your main.go?
      hard
      A. In stringutil package: func Reverse(s string) string { /* code */ }
      In main.go: import "stringutil" and call Reverse("hello")
      B. In stringutil package: func reverse(s string) string { /* code */ }
      In main.go: import "stringutil" and call stringutil.reverse("hello")
      C. In stringutil package: func Reverse(s string) string { /* code */ }
      In main.go: import "stringutil" and call stringutil.Reverse("hello")
      D. In stringutil package: func Reverse(s string) string { /* code */ }
      In main.go: no import needed, call Reverse("hello")

      Solution

      1. Step 1: Define exported function in package

        The function must start with uppercase 'Reverse' to be accessible outside the package.
      2. Step 2: Import package and call function with package name

        In main.go, import "stringutil" and call the function as stringutil.Reverse("hello").
      3. Final Answer:

        Define func Reverse and call stringutil.Reverse("hello") after import -> Option C
      4. Quick Check:

        Uppercase function + import + package prefix = correct usage [OK]
      Hint: Exported func uppercase + import + package.func call [OK]
      Common Mistakes:
      • Using lowercase function name and expecting export
      • Calling function without package prefix after import
      • Not importing the custom package
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard