# Enable GO Notes to enable/configure GO on my Mac ```sh # GOlang related export GOPATH="${HOME}/.go" export GOROOT="$(brew --prefix golang)/libexec" export PATH="$PATH:${GOPATH}/bin:${GOROOT}/bin" test -d "${GOPATH}" || mkdir "${GOPATH}" test -d "${GOPATH}/src/github.com" || mkdir -p "${GOPATH}/src/github.com" ``` * Use Brew to install Go * Load the various tools in in VisualCode * `go mod init example.com/user/hello` * Structuring a go project: ## Cobra Cobra documentation: * [main README](https://github.com/spf13/cobra/blob/main/README.md) * [Cobra User Guide](https://github.com/spf13/cobra/blob/main/user_guide.md) * [Cobra CLI](https://github.com/spf13/cobra-cli/blob/main/README.md) Setting up project to use Cobra: * `go get -u github.com/spf13/cobra/cobra` * `go mod init FLEcli` * `cobra init --pkg-name FLEcli -l MIT` * `cobra add load` adds a load command ## Reading and processing file * [Go by Example: Reading Files](https://gobyexample.com/reading-files) * * ## Regex * useful site: * [Regex to verify Hamradio callsign and retrieve prefix](https://regex101.com/library/6QhGuD) * [Hamradio callsign](https://regex101.com/library/uP6xD2) * [Verify amateur radio call sign meets ITU format](https://regex101.com/library/gS6qG8) ## Parsing 2 * [Effective text parsing in golang](https://medium.com/@TobiasSchmidt89/effective-text-parsing-in-golang-163d13784288) ## Amateur related Golang libray *