User Tools

Site Tools


go_fedora_packages

Table of Contents

Overview

golang on Fedora 30 … and beyond.

Base packages

  • golang
    • golang-src
    • golang-bin
    • go-srpm-macros
  • dep

go env

GOARCH="amd64"
GOBIN=""
GOCACHE="/home/rpjday/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/rpjday/go"               [personal workspace]
GOPROXY=""
GORACE=""
GOROOT="/usr/lib/golang"               [Go installation workspace]
GOTMPDIR=""
GOTOOLDIR="/usr/lib/golang/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build215138165=/tmp/go-build -gno-record-gcc-switches"

Stuff

  • env vars
    • GOPATH (workspace)
    • GOROOT (install dir)
  • “factored” import statement
  • uppercase symbols are automatically exported (math.Pi)
  • functions
    • return type *trails* function prototype
    • no need to duplicate consecutive arg types (x, y int)
    • multiple return values “(string, int)”
    • named return values “func split(sum int) (x, y int) {”
  • variables
    • “var c, python, java bool”
    • initializers “var i, j int = 10, 20”
    • short implicit in-function form “k := 3”
  • type conversions are necessary
  • loops
    • for [init] ; cond ; [iter] {
    • for cond { [“while”]
go_fedora_packages.txt · Last modified: 2019/08/17 09:59 by rpjday