1
0
Fork 0
Sebastian Steger 2026-04-07 13:43:08 +00:00
commit f4e7310267
5 changed files with 92 additions and 1 deletions

View File

@ -0,0 +1,5 @@
module gitty.informatik.hs-mannheim.de/steger/pr3-code/go/03-modules
go 1.25.0
require github.com/google/uuid v1.6.0

View File

@ -0,0 +1,2 @@
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=

View File

@ -1,5 +1,27 @@
package main
func main() {
import (
"fmt"
// importing the myMath package with an alias mm. This allows us to use mm instead of myMath to access the functions in the package.
// go packages are imported using their full path, which is the path to the package relative to the GOPATH or module root. .
mm "gitty.informatik.hs-mannheim.de/steger/pr3-code/go/03-modules/myMath"
// the underscore is used to import a package solely for its side effects (i.e., the init function).
// This is useful when you want to initialize a package but do not need to access any of its exported functions or variables.
// _ "gitty.informatik.hs-mannheim.de/steger/pr3-code/go/03-modules/myMath"
// importing a third-party package from GitHub. This package provides functions for generating UUIDs (Universally Unique Identifiers).
// To use this package, you need to run go get github.com/google/uuid to download and install the package in your Go workspace.
// Alternatively, you can run go mod tidy to automatically download and install any missing dependencies based on the imports in your code.
"github.com/google/uuid"
//run go get github.com/google/uuid
//or go mod tidy => go.sum
)
func main() {
fmt.Println(mm.Add(1, 2))
id := uuid.New()
fmt.Println("Generated UUID:", id)
}

View File

@ -0,0 +1,27 @@
package myMath
import "fmt"
// init is a special function that is called automatically when the package is imported. It is used to initialize the package
// and can be used to set up any necessary state or perform any necessary setup before the package is used.
func init() {
fmt.Println("initializing myMath")
}
// functions that start with an uppercase letter are exported and can be accessed from outside the package
func Add(a, b int) int {
return a + b
}
// functions that start with a lowercase letter are not exported and cannot be accessed from outside the package
func greater(a, b int) bool {
return a > b
}
func Min(a, b int) int {
if greater(a, b) {
return b
} else {
return a
}
}

View File

@ -0,0 +1,35 @@
package myMath_test
import (
"testing"
"gitty.informatik.hs-mannheim.de/steger/pr3-code/go/03-modules/myMath"
)
func TestAdd(t *testing.T) {
sum := myMath.Add(2, 3)
if sum != 5 {
t.Errorf("Add(2,3) = %v, want %v", sum, 5)
}
}
func TestMin(t *testing.T) {
type args struct {
in0 int
in1 int
}
tests := []struct {
name string
args args
want int
}{
{"first greater", args{3, 2}, 2},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := myMath.Min(tt.args.in0, tt.args.in1); got != tt.want {
t.Errorf("Min() = %v, want %v", got, tt.want)
}
})
}
}