チュートリアルを参考に。 <div class="link-card"> <div class="link-card-header"> <img src="https://go.dev/images/favicon-gopher.png" class="link-card-site-icon"/> <span class="link-card-site-name">go.dev</span> </div> <div class="link-card-body"> <div class="link-card-content"> <div> <p class="link-card-title">Tutorial: Get started with Go - The Go Programming Language</p> </div> <div class="link-card-description"> </div> </div> </div> <a href="https://go.dev/doc/tutorial/getting-started"></a> </div> [[Go]]のバージョンは1.20.1。 ## サンプルプロジェクト作成 ```console mkdir hello cd hello go mod init example/hello ``` `hello.go`を作成。 ```go package main import "fmt" func main() { fmt.Println("Hello, World!") } ``` コンパイルと実行。 ```console go build . ./hello ``` 直接実行。 ```console go run . ``` ## [[Neovim]]の設定 [[coc.nvim]]がインストールされている前提で [[init.lua]]の[[coc.nvim]]設定内 `config` に `coc-go` を追加 ```lua { 'neoclide/coc.nvim', config = function() vim.g.coc_global_extensions = { "coc-go", } end }, ``` [[coc-settings.json]]の`languageserver`と`coc.preferences.formatOnSaveFiletypes`にそれぞれ追加。 ```json { "languageserver": { "go": { "command": "gopls", "rootPatterns": ["go.work", "go.mod", ".vim/", ".git/", ".hg/"], "filetypes": ["go"], "initializationOptions": { "usePlaceholders": true } } }, "coc.preferences.formatOnSaveFiletypes": [ "go" ] } ```