create first counter

This commit is contained in:
Florian Hoss 2022-05-30 09:36:08 +02:00
parent 2de583632e
commit d8ea359d48
4 changed files with 146 additions and 0 deletions

99
Lab04/code/.gitignore vendored Normal file
View file

@ -0,0 +1,99 @@
### VisualStudioCode template
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace
# Local History for Visual Studio Code
.history/
### Linux template
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
### Go template
# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib
# Test binary, built with `go test -c`
*.test
# Output of the go coverage tool, specifically when used with LiteIDE
*.out
# Dependency directories (remove the comment below to include it)
# vendor/
### Windows template
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
### macOS template
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
.idea/
part01/frequency

3
Lab04/code/part01/go.mod Normal file
View file

@ -0,0 +1,3 @@
module frequency
go 1.18

27
Lab04/code/part01/main.go Normal file
View file

@ -0,0 +1,27 @@
package main
import (
"fmt"
"strings"
)
func wordCount(str string) map[string]int {
wordList := strings.Fields(str)
counts := make(map[string]int)
for _, word := range wordList {
_, ok := counts[word]
if ok {
counts[word] += 1
} else {
counts[word] = 1
}
}
return counts
}
func main() {
strLine := "Australia Canada Germany Australia Japan Canada"
for index,element := range wordCount(strLine){
fmt.Println(index,"=>",element)
}
}

View file

@ -0,0 +1,17 @@
# Go parameters
GoCMD=go
GoBUILD=$(GoCMD) build
GoCLEAN=$(GoCMD) clean
GoTEST=$(GoCMD) test
GoMOD=$(GoCMD) mod
BINARY_NAME=frequency
# To install GoLang please follow the installation instructions on https://go.dev/
all: build
build:
$(GoBUILD) -o $(BINARY_NAME) -v
clean:
$(GOCLEAN)
rm -f $(BINARY_NAME)
deps:
$(GoMOD) tidy