タグ

ブックマーク / golang.jp (31)

  • Goコードの書き方 - golang.jp

    Go言語とは、Googleが開発した新しいプログラミング言語です。 当サイトではこの新しい言語についての情報を集約していきます。 このサイトの更新が滞っており、情報が古くなっておりますのでご注意ください。 はじめに このドキュメントでは新しいパッケージの作成方法、およびテスト方法について説明します。インストール手順に従いGo言語のインストールが済んでいることが前提となっています。 既存のパッケージに変更を加えるか、もしくは新しいパッケージの作成に取り掛かる前には必ず、あなたが何をしようとしているのかを他の人達に知らせるためにメーリングリスト宛にメールを送るようにしてください。そうすることで重複による無駄な労力が減らせるとともに、コードを書く前に仕様に関する議論をすることができます。 コミュニティ リソース リアルタイムサポートは、Freenode IRCサーバの#go-nutsチャネルにて

    nabinno
    nabinno 2015/07/13
  • container/list パッケージ - golang.jp

    Go言語とは、Googleが開発した新しいプログラミング言語です。 当サイトではこの新しい言語についての情報を集約していきます。 このサイトの更新が滞っており、情報が古くなっておりますのでご注意ください。 import "container/list" 2重リンクリストを実装しています。 リストをイテレートするには、次のようにします。(lが、*Listのとき) for e := l.Front(); e != nil; e = e.Next() { // e.Valueを使って何かする } パッケージファイル list.go Element型 Elementは、リンクリストの要素です。 type Element struct { // The contents of this list element. Value interface{} // contains unexported fi

    nabinno
    nabinno 2015/07/13
  • rand パッケージ - golang.jp

    Go言語とは、Googleが開発した新しいプログラミング言語です。 当サイトではこの新しい言語についての情報を集約していきます。 このサイトの更新が滞っており、情報が古くなっておりますのでご注意ください。 import "rand" randパッケージは、擬似乱数ジェネレータを実装しています。 パッケージファイル exp.go normal.go rand.go rng.go zipf.go ExpFloat64関数 func ExpFloat64() float64 ExpFloat64は、rateパラメータ(ラムダ)が1である指数分布、すなわち1/ラムダ(1)を使い、範囲が(0, +math.MaxFloat64]である指数分布に従うfloat64を返します。異なるrateパラメータで分布を生成するために呼び出し側は次のようにして出力を調節することができます。 sample = Exp

  • math パッケージ - golang.jp

    Go言語とは、Googleが開発した新しいプログラミング言語です。 当サイトではこの新しい言語についての情報を集約していきます。 このサイトの更新が滞っており、情報が古くなっておりますのでご注意ください。 import "math" mathパッケージは、基的な定数と数学関数を提供します。 パッケージファイル acosh.go asin.go asin_decl.go asinh.go atan.go atan2.go atan2_decl.go atan_decl.go atanh.go bits.go cbrt.go const.go copysign.go erf.go exp.go exp2.go exp2_decl.go exp_decl.go exp_port.go expm1.go expm1_decl.go fabs.go fabs_decl.go fdim.go fdi

  • Goコードの書き方 - golang.jp

    Go言語とは、Googleが開発した新しいプログラミング言語です。 当サイトではこの新しい言語についての情報を集約していきます。 このサイトの更新が滞っており、情報が古くなっておりますのでご注意ください。 このドキュメントはHow to Write Go Code(http://golang.org/doc/code.html)の翻訳です。 今回は文章が短かったので、分割せず一回で翻訳しました。 はじめに このドキュメントでは新しいパッケージの作成方法、およびテスト方法について説明します。インストール手順に従いGo言語のインストールが済んでいることが前提となっています。 既存のパッケージに変更を加えるか、もしくは新しいパッケージの作成に取り掛かる前には必ず、あなたが何をしようとしているのかを他の人達に知らせるためにメーリングリスト宛にメールを送るようにしてください。そうすることで重複による

  • 実践Go言語 - golang.jp

    Go言語とは、Googleが開発した新しいプログラミング言語です。 当サイトではこの新しい言語についての情報を集約していきます。 このサイトの更新が滞っており、情報が古くなっておりますのでご注意ください。 はじめに Goは新しい言語です。既存の言語からアイデアを取り入れてはいますが、他の言語にはない機能をもっているため、実際に記述されたGoのプログラムは、他の類似した言語とはだいぶ異なるものになります。C++またはJavaプログラムをGo言語へ直接変換しても、あまりうまくは行きません。JavaのプログラムはあくまでJavaで書かれており、Go言語で書かれてはいないからです。一方で、Go側の視点からこの問題を考えると、変換に成功したとしても、全く違うプログラムができてしまうことになります。言い換えると、Go言語を使いこなすには、Go言語の機能や文法を理解することが重要です。おなじく、Go言語

  • unsafe パッケージ - golang.jp

    Go言語とは、Googleが開発した新しいプログラミング言語です。 当サイトではこの新しい言語についての情報を集約していきます。 このサイトの更新が滞っており、情報が古くなっておりますのでご注意ください。 import "unsafe" Goプログラムの型安全性を回避する操作を扱っています。 パッケージファイル unsafe.go Alignof関数 func Alignof(v ArbitraryType) int Alignofは、値vのアライメントを返します。この値は、式「vの型を持った変数のアドレス % m == 0」が常に成り立つようなmの値の最大値です。vがobj.f形式のときは、構造体オブジェクトobj内のフィールドfのアライメントを返します。 Offsetof関数 func Offsetof(v ArbitraryType) int Offsetofは、構造体内のオフセット

  • flag パッケージ - golang.jp

    Go言語とは、Googleが開発した新しいプログラミング言語です。 当サイトではこの新しい言語についての情報を集約していきます。 このサイトの更新が滞っており、情報が古くなっておりますのでご注意ください。 import "flag" コマンドラインのフラグ解析を実装しています。 使用方法: flag.String()、Bool()、Int()などを使用してフラグを定義します。下はサンプルです。 import "flag" var ip *int = flag.Int("flagname", 1234, "help message for flagname") 必要であれば、フラグをxxxVar()関数を使って変数にバインドできます。 var flagvar int func init() { flag.IntVar(&flagvar, "flagname", 1234, "help mes

  • 実践Go言語(part12) - golang.jp

    Go言語とは、Googleが開発した新しいプログラミング言語です。 当サイトではこの新しい言語についての情報を集約していきます。 このサイトの更新が滞っており、情報が古くなっておりますのでご注意ください。 実践Go言語(Effective Go)の翻訳、12回目です。 前回までの訳は実践Go言語[日語訳]にまとめてあります。 並列性 通信による共有 並列プログラミングは大きなトピックではありますが、ここではGo言語の仕様の中で特徴的な部分だけを取り上げます。 一般的な環境における並列プログラミングは、共有変数にアクセスするためには適切な実装が厳密に求められるため扱いにくいものでした。Go言語では、共有変数をチャネル上で引き回し、実行中の異なるスレッドからは実際に同時アクセスさせないという今までとは異なる手法を推奨しています。あるタイミングで値にアクセスできるゴルーチンはひとつだけなので、

  • Goプログラミング言語仕様 - golang.jp

    Go言語とは、Googleが開発した新しいプログラミング言語です。 当サイトではこの新しい言語についての情報を集約していきます。 このサイトの更新が滞っており、情報が古くなっておりますのでご注意ください。 はじめに この文書は、プログラミング言語Goのリファレンスマニュアルです。その他の情報、文書はhttp://golang.orgを参照ください。 Go言語は汎用言語ですが、システムプログラミングを念頭に設計されています。この言語は、強い型付け、ガーベージコレクション、並列処理をサポートする機能を持ちます。プログラムはパッケージという単位で構成され、依存関係は効率的に管理されます。今現在は、従来からあるコンパイル/リンクモデルによる実行バイナリ生成方式を採っています。 Go言語の文法は、コンパクトかつ規則的で、IDE(統合開発環境)のような自動ツールにとって解析しやすい言語となっています。

  • FAQ - golang.jp

    起源 このプロジェクトの目標は? ここ10年以上、メジャーなシステム言語は誕生しておりませんが、その間にコンピュータの世界は大きく変化しています。この変化には、次の傾向が見受けられます。 コンピュータ自身は非常に早くなりましたが、ソフトウエア開発は遅いままです。 今日のソフトウェア開発にとって依存関係を管理することはとても重要ですが、C言語で使われている「ヘッダファイル」では、依存関係を正しく解析したり、高速なコンパイルを行うことはできません。 JavaC++のような扱いにくい型システムに対する反発が大きくなりつつあり、これがPythonJavaScriptといった動的な型言語を後押ししています。 基的なコンセプトのうち、ガベージコレクションや並列処理などいくつかは、人気のあるシステム言語においてもほとんどサポートされていません。 マルチコアコンピュータの出現は、心配事と混乱を生み出