Go

パッケージとか

Go

やっとGo言語さわれそうになってきたのでちょっとずつ触ってみてます。 で、言語仕様とかはわかってきたのだけど、ソースコードの分割方法がわからなくて試したり調べたりして多分理解したと思うのでメモを。 ディレクトリ名がimport時に書くimport名(とい…

goenvでGoのプロジェクトを作る

Go

Pythonのvirtualenv風なコマンド、goenvを使ってみました。 goofはちょっとインストールできなかったので使ってません。 環境:OS X 10.7.5 前提 Goがインストールされている事 GOROOTが設定されている事 準備 .bashrcに以下を書きます。GOENVTARGETはgoenv…

基礎からわかるGo言語 Chapter01..02 その1

Go

基礎からわかるGo言語を買ったものの、あまり読み進めていなかったのでちゃんと読みつつ記事としても書いて行こうかと。 node.js + Go言語って組み合わせで今後何か作れると良いなあと思いつつ。 Hello, World! とりあえずHello, World!を。 1.go package ma…

initで初期化

Go

initって関数を宣言しておくと最初に実行されるとか。 Delphiのinitialization見たいな感じ? package main import ( "fmt" ) func init() { fmt.Println("init") } func init() { fmt.Println("init") } func main() { fmt.Println("main") } $ go run inde…

fizzbuzzチャネル

Go

昨日書いたやつをちゃんと出力されるように? package main import ( "fmt" "strconv" ) func fizzbuzz(min, max int, c chan string) { for i := min; i <= max; i++ { numStr := strconv.Itoa(i) ret := numStr + ": " switch { case i % 15 == 0: ret += …

はじめてのチャネル

Go

チャネルを使ったfizzbuzzを。出力めちゃくちゃだけどw package main import ( "fmt" "strconv" ) func fizzbuzz(min, max int, ch chan string) { for i := min; i <= max; i++ { numStr := strconv.Itoa(i) outStr := numStr + ": " switch { case i % 15…

main redeclared in this block

Go

同じディレクトリに以下のような感じのコードを書いておくと…… a.go package main func main() { } b.go package main func main() { } $ go build # _/home/sasaplus1/Work/aaa ./b.go:3: main redeclared in this block previous declaration at ./a.go:3 …

Go言語ではじめてのfizzbuzz

Go

Go言語を始めたくなったのでfizzbuzzを書いたのですよ。 1個目 package main import ( "fmt" "strconv" ) func main() { for i := 1; i <= 100; i++ { fmt.Printf(strconv.Itoa(i) + ": ") switch { case i % 15 == 0: fmt.Println("fizzbuzz") case i % 5 =…

GoのVimプラギンをNeoBundleで管理する

Goをインストールすると、一緒にVimプラギンも付いてきます。 それをNeoBundleで管理してもらう方法です。管理というか、pathogen.vim的な動作をしてもらうだけなのですが。 GOROOTを設定する 最初にGOROOTを設定します。設定しないとどこにインストールされ…

Goの環境構築をしたよ

Go

Goがものすごいいろいろ変わっててびっくりした。8gとかどこ行ったの? 環境:Debian 6.0.5 32bit (CUI) / Go 1.0.2 ダウンロード・インストール $ wget http://go.googlecode.com/files/go1.0.2.linux-386.tar.gz $ tar xvfz go1.0.2.linux-386.tar.gz -C ~…

各言語(興味のあるやつだけ)のパッケージマネージャ

Ruby Python node.js Lua Go RubyGems easy_install npm LuaRocks goinstall goinstallはパッケージマネージャなのかな、どうなのかな。