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
|
||||
|
||||
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