notes/go.md

51 lines
1.5 KiB
Markdown
Executable File

---
author: Alvie Rahman
date: \today
title: Go (golang)
tags: [ golang, programming ]
---
# Getting Up to Speed With Go
Probably the most useful resoure I found was the [Tour of Go](https://tour.golang.org/).
It's easy to understand and teaches you all you need to know.
# `godoc` [^golang-godoc]
> Godoc parses Go source code - including comments - and produces documentation as HTML or plain
> text.
> The end result is documentation tightly coupled with the code it documents.
> For example, through godoc's web interface [which is at <http://localhost:6060> by default] you
> can navigate from a function's documentation to its implementation with one click.
## Installing godoc // `command not found: godoc`
```bash
go get golang.org/x/tools/cmd/godoc
```
# `go.mod`
## `replace` [^go-mod-edit]
```
go mod edit -replace old.repo/location=../new/location
```
or
```
echo "old.repo/location => ../new/location" >> go.mod
```
> The `-replace=old[@v]=new[@v]` flag adds a replacement of the given
> module path and version pair. If the @v in old@v is omitted, a
> replacement without a version on the left side is added, which applies
> to all versions of the old module path. If the @v in new@v is omitted,
> the new path should be a local module root directory, not a module
> path. Note that -replace overrides any redundant replacements for old[@v],
> so omitting @v will drop existing replacements for specific versions
[^golang-godoc]: Andrew Gerrand, 31 March 2011 --- <https://blog.golang.org/godoc>
[^go-mod-edit]: <https://golang.org/ref/mod#go-mod-edit>