Go/Quick Start: Difference between revisions
< Go
Jump to navigation
Jump to search
| Line 49: | Line 49: | ||
! Visibility | ! Visibility | ||
! Casing Rule | ! Casing Rule | ||
|- | |- | ||
| File | | File | ||
| | | | ||
| snake_case | | snake_case | ||
|- | |- | ||
| Package | | Package | ||
| N/A | | N/A | ||
| Lowercase | | Lowercase | ||
|- | |- | ||
| Module | | Module | ||
| N/A | | N/A | ||
| kebab-case (Lowercase with hyphens) | | kebab-case (Lowercase with hyphens) | ||
|- | |- | ||
| Struct / Type | | Struct / Type | ||
| Exported (Public) | | Exported (Public) | ||
| PascalCase | | PascalCase | ||
|- | |- | ||
| Struct Field | | Struct Field | ||
| Exported (Public) | | Exported (Public) | ||
| PascalCase | | PascalCase | ||
|- | |- | ||
| Struct Field | | Struct Field | ||
| Unexported (Private) | | Unexported (Private) | ||
| camelCase | | camelCase | ||
|- | |- | ||
| Function | | Function | ||
| Exported (Public) | | Exported (Public) | ||
| PascalCase | | PascalCase | ||
|- | |- | ||
| Function | | Function | ||
| Unexported (Private) | | Unexported (Private) | ||
| camelCase | | camelCase | ||
|- | |- | ||
| Variable | | Variable | ||
| Exported (Public) | | Exported (Public) | ||
| PascalCase | | PascalCase | ||
|- | |- | ||
| Variable | | Variable | ||
| Unexported (Private) | | Unexported (Private) | ||
| camelCase | | camelCase | ||
|- | |- | ||
| Constant | | Constant | ||
| Exported (Public) | | Exported (Public) | ||
| ALL_CAPS | | ALL_CAPS | ||
|- | |- | ||
| Interface | | Interface | ||
| Exported (Public) | | Exported (Public) | ||
| PascalCase | | PascalCase | ||
|- | |- | ||
| Method | | Method | ||
| Exported/Unexported | | Exported/Unexported | ||
| Follow Function Rules | | Follow Function Rules | ||
|} | |} | ||
Revision as of 09:39, 27 July 2026
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
TODO: Use TreeView to fix
| Element | Visibility | Casing Rule |
|---|---|---|
| File | snake_case | |
| Package | N/A | Lowercase |
| Module | N/A | 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 |