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
✗ Incorrect
Every Go file begins with the 'package' keyword followed by the package name.
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'
✗ Incorrect
You import the package using the 'import' statement with the package path or name.
Which function name is exported and accessible outside its package?
ACalculateSum
BcalculateSum
Ccalculate_sum
D_CalculateSum
✗ Incorrect
In Go, functions starting with a capital letter are exported and accessible outside their package.
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
✗ Incorrect
Custom package files should be inside a folder named after the package for Go to recognize them properly.
What is the recommended style for package names?
ALong and descriptive with uppercase letters
BWith underscores
CCamelCase
DShort and lowercase
✗ Incorrect
Go style recommends short, lowercase package names for simplicity and clarity.
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
Step 1: Understand the role of packages
Packages help group related code together for reuse and clarity.
Step 2: Identify the main benefit
Custom packages allow you to reuse code in different parts of your program or in other programs.
Final Answer:
To organize code into reusable parts -> Option A
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
Step 1: Recall Go export rules
In Go, only names starting with an uppercase letter are exported (visible outside the package).
Step 2: Check function names
Only 'MyFunction' starts with uppercase, so it is exported.
Final Answer:
func MyFunction() {} -> Option A
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?
D. Function name should start with uppercase to be accessible
Solution
Step 1: Check function visibility rules
In Go, only functions starting with uppercase letters are exported and accessible outside their package.
Step 2: Identify the function name issue
The function is named 'helper' (lowercase), so it is not accessible from main package.
Final Answer:
Function name should start with uppercase to be accessible -> Option D
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
Step 1: Define exported function in package
The function must start with uppercase 'Reverse' to be accessible outside the package.
Step 2: Import package and call function with package name
In main.go, import "stringutil" and call the function as stringutil.Reverse("hello").
Final Answer:
Define func Reverse and call stringutil.Reverse("hello") after import -> Option C