forked from steger/pr3-sose2026
Merge branch 'go-modules' of https://gitty.informatik.th-mannheim.de/steger/pr3-code
commit
f4e7310267
|
|
@ -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
|
||||||
|
|
@ -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=
|
||||||
|
|
@ -1,5 +1,27 @@
|
||||||
package main
|
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)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -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)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue