Go/Quick Start

From Fundamental Ramen
Jump to navigation Jump to search

Create a module

Create module and source file.

go mod init sandbox/hello
touch hello.go

Add source code.

package main

import "fmt"

func main() {
	fmt.Println("Hello, World!")
}

Run.

go run .

Work with 2 modules

mkdir main greetings sucks
cd greetings
go mod init sandbox/greetings
cd ../sucks
go mod init sandbox/sucks
cd ../main
go mod init
go mod edit -replace sandbox/greetings=../greetings
go mod edit -replace sandbox/sucks=../sucks
go mod tidy

naming convention table

Element Visibility Casing Rule
File snake_case
Package Lowercase
Module kebab-case (Lowercase with hyphens)
Struct / Type Exported (Public) PascalCase
Struct Field Exported (Public) PascalCase
Struct Field Unexported (Private) camelCase
Function Exported (Public) PascalCase
Function Unexported (Private) camelCase
Variable Exported (Public) PascalCase
Variable Unexported (Private) camelCase
Constant Exported (Public) ALL_CAPS
Interface Exported (Public) PascalCase
Method Exported/Unexported Follow Function Rules