Memo/golang

https://dexlab.net:443/pukiwiki/index.php?Memo/golang
 

Go言語/golang

  • https://ja.wikipedia.org/wiki/Go_(プログラミング言語)

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


ビルド時にバージョンを埋め込む


build

環境毎のバイナリを作成

go build hello.go
  • 環境を指定してビルド
    GOOS=linux GOARCH=amd64 go build -ldflags='-w -s' hello.go
  • Optional environment variables
    • GOOS: 対象OS
    • GOARCH: 対象アーキテクチャ
  • ファイルサイズ縮小のため以下オプション
    • -w: DWARFのシンボルテーブルを生成しない
    • -s: デバッグ用シンボルテーブルを生成しない

Hello, World

  • hello.go
    package main
    
    import "fmt"
    
    func main() {
    	fmt.Println("Hello, World")
    }
  • 実行: CentOS6.x
    go run hello.go
    
    Hello, World

go get

  • CentOS7でyumからgolangをインストールした場合、デフォルトでは $GOPATHは未設定。
    • /usr/share/gocode/src/ がある
  • $GOPATHが未設定時、go getしたファイルは ~/go/ に展開される

インストール


CentOS 6/7

  • yumからインストールできる
    # CentOS 7
    sudo yum install golang
    
    # CentOS 6
    sudo yum install golang --enablerep=epel
    
    mkdir ~/go
    echo 'export GOPATH=$HOME/go' >> ~/.bashrc
    source ~/.bashrc
    • CentOS 7.x: v1.9.4 (base repo)
    • CentOS 6.x: v1.5.1 (epel repo)

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-09-15 (土) 07:31:38 (39d)