golang

文書の過去の版を表示しています。


Go 関連

本家: The Go Programming Language
ソースコード: golang/go: The Go programming language

Go はプログラミング言語の 1 つである。(コンパイラー言語) 2009 年、Google で Robert Griesemer、ロブ・パイク、ケン・トンプソンによって設計された。Go は、静的型付け、C言語の伝統に則ったコンパイル言語、メモリ安全性、ガベージコレクション、構造的型付け、CSP スタイルの並行性などの特徴を持つ。Go のコンパイラ、ツール、およびソースコードは、すべてフリーかつオープンソースである。

また、軽量スレッディングのための機能、Python のような動的型付け言語のようなプログラミングの容易性、などの特徴もある。Go 処理系としてはコンパイラのみが開発されている。マスコット・キャラクターは Gopher (ホリネズミ)。
Go (プログラミング言語) - Wikipedia より

$ sudo dnf install golang

Fedora 38 - x86_64 - Updates                                                  6.7 kB/s | 6.1 kB     00:00    
Fedora 38 - x86_64 - Updates                                                  467 kB/s | 2.3 MB     00:05    
Fedora Modular 38 - x86_64 - Updates                                           11 kB/s | 5.2 kB     00:00    
依存関係が解決しました。
==============================================================================================================
 パッケージ                    アーキテクチャー     バージョン                    リポジトリー          サイズ
==============================================================================================================
インストール:
 golang                        x86_64               1.20.5-1.fc38                 updates               604 k
依存関係のインストール:
 golang-bin                    x86_64               1.20.5-1.fc38                 updates                58 M
 golang-src                    noarch               1.20.5-1.fc38                 updates                11 M
 libserf                       x86_64               1.3.9-27.fc38                 fedora                 57 k
 subversion-libs               x86_64               1.14.2-13.fc38                fedora                1.5 M
 utf8proc                      x86_64               2.7.0-4.fc38                  fedora                 80 k
弱い依存関係のインストール:
 subversion                    x86_64               1.14.2-13.fc38                fedora                1.0 M

トランザクションの概要
==============================================================================================================
インストール  7 パッケージ

ダウンロードサイズの合計: 72 M
インストール後のサイズ: 214 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/7): libserf-1.3.9-27.fc38.x86_64.rpm                                       141 kB/s |  57 kB     00:00    
(2/7): utf8proc-2.7.0-4.fc38.x86_64.rpm                                       240 kB/s |  80 kB     00:00    
(3/7): subversion-1.14.2-13.fc38.x86_64.rpm                                   529 kB/s | 1.0 MB     00:01    
(4/7): subversion-libs-1.14.2-13.fc38.x86_64.rpm                              543 kB/s | 1.5 MB     00:02    
(5/7): golang-1.20.5-1.fc38.x86_64.rpm                                        212 kB/s | 604 kB     00:02    
(6/7): golang-src-1.20.5-1.fc38.noarch.rpm                                    2.0 MB/s |  11 MB     00:05    
(7/7): golang-bin-1.20.5-1.fc38.x86_64.rpm                                    2.5 MB/s |  58 MB     00:23    
--------------------------------------------------------------------------------------------------------------
合計                                                                          2.7 MB/s |  72 MB     00:26     
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  scriptletの実行中: golang-1.20.5-1.fc38.x86_64                                                          1/1 
  準備             :                                                                                      1/1 
  インストール中   : golang-src-1.20.5-1.fc38.noarch                                                      1/7 
  インストール中   : utf8proc-2.7.0-4.fc38.x86_64                                                         2/7 
  インストール中   : libserf-1.3.9-27.fc38.x86_64                                                         3/7 
  インストール中   : subversion-libs-1.14.2-13.fc38.x86_64                                                4/7 
  インストール中   : subversion-1.14.2-13.fc38.x86_64                                                     5/7 
  scriptletの実行中: subversion-1.14.2-13.fc38.x86_64                                                     5/7 
  インストール中   : golang-1.20.5-1.fc38.x86_64                                                          6/7 
  インストール中   : golang-bin-1.20.5-1.fc38.x86_64                                                      7/7 
  scriptletの実行中: golang-bin-1.20.5-1.fc38.x86_64                                                      7/7 
  検証             : libserf-1.3.9-27.fc38.x86_64                                                         1/7 
  検証             : subversion-1.14.2-13.fc38.x86_64                                                     2/7 
  検証             : subversion-libs-1.14.2-13.fc38.x86_64                                                3/7 
  検証             : utf8proc-2.7.0-4.fc38.x86_64                                                         4/7 
  検証             : golang-1.20.5-1.fc38.x86_64                                                          5/7 
  検証             : golang-bin-1.20.5-1.fc38.x86_64                                                      6/7 
  検証             : golang-src-1.20.5-1.fc38.noarch                                                      7/7 

インストール済み:
  golang-1.20.5-1.fc38.x86_64     golang-bin-1.20.5-1.fc38.x86_64     golang-src-1.20.5-1.fc38.noarch         
  libserf-1.3.9-27.fc38.x86_64    subversion-1.14.2-13.fc38.x86_64    subversion-libs-1.14.2-13.fc38.x86_64   
  utf8proc-2.7.0-4.fc38.x86_64   

完了しました!

$ go version

go version go1.20.5 linux/amd64

GOPATH 環境変数を設定する。

$ mkdir -p ~/go
$ echo 'export GOPATH=$HOME/go' >> $HOME/.bashrc
$ source ~/.bashrc
$ go env GOPATH
/home/tomoyan/go

Go でプログラムを作成するには、$GOPATH/src サブディレクトリに .go 拡張子を持つファイルを作成する。

$ mkdir -p $GOPATH/src/hello && cd $GOPATH/src/hello
$ vi hello.go
hello.go
package main
 
import "fmt"
 
func main() {
    fmt.Println("Hello, World!")
}

変更を保存し、同じディレクトリで hello.go を実行する。

$ go run hello.go
Hello, World!

hello.go をビルドするは簡単である。

$ go build
$ ls
hello  hello.go
$ ./hello
Hello, World!

さらに go install$GOPATH/bin にインストールされる。 

$ go install
$ ls $GOPATH/bin
hello

また、$GOPATH/pkg のすべての依存関係を構築およびキャッシュする。

プログラムは $GOPATH/bin にインストールされるため、一般的には PATH 環境変数に追加して、フルパスを指定せずに Go プログラムを実行できるようにする。

$ echo 'export PATH=$PATH:$GOPATH/bin' >> $HOME/.bashrc
$ source ~/.bashrc
$ hello
Hello, World!

アップストリームプロジェクトは go get コマンドでインストールできる。

$ go get github.com/gorilla/context

ゴ、ゴリラ? (gorilla)…

  • golang.1689539128.txt.gz
  • 最終更新: 2023/07/17 05:25
  • by ともやん