Go

Goのスライス

Goのスライスの利用イメージは、以下のようにして覚えている。 package main import "fmt" func main() { p := []int{1, 2, 3, 4, 5, 6} fmt.Println("p[0:1],p[1:4], p[4:6] ==", p[0:0+1], p[1:1+3], p[4:4+2]) } 結果は以下。 p[0:1],p[1:4], p[4:6] == […

実行ファイルのディレクトリと実行時ディレクトリ

Go言語で、実行しているファイルの場所と実行時ディレクトリを取得するサンプル。 package main import ( "fmt" "log" "os" "path/filepath" ) func main() { // 実行ファイルの場所 dir, err := filepath.Abs(filepath.Dir(os.Args[0])) if err != nil { lo…

Goサンプル的なライブラリ 追加

https://github.com/iwot/go-utilGoサンプル的なライブラリにHttpRouterを追加しました。 使用例を https://github.com/iwot/go-util/tree/master/example/httprouter に置いてます。 package main import ( "./app/articles" "fmt" "github.com/iwot/go-uti…

Goサンプル的なライブラリ

https://github.com/iwot/go-util Goのサンプル的なライブラリをGithubで管理してます。現在のライブラリは以下。 PriorityQueue(プライオリティ付きのQueue。Dijkstraのサンプルをtestに含めてます。) PathMatch(URLとパスのマッチング) StringBuffer S…

アクセスしたパスでの処理振り分け

アクセスしたパスでの処理振り分け方法に少し悩んだのでメモしておきます。例ではhttp.Handleにはパターンとして"/app/"を登録し、ハンドラに渡されたパス("/app/post/(form|confirm|do)")をパターンマッチして処理を振り分けます。 package main import (…

Go言語でローカルパッケージをインポート

基礎からわかるGo言語には載っていなかったようなのでメモ。パッケージのimportに関してよく見かける説明では、importするパッケージはGOPATH以下に配置されている必要がありますが、わざわざGOPATHにパスを追加して管理するのも面倒に感じます。 そういう場…

Goでのテスト

Goでのテストには付属のtestingパッケージが使えますが、試しにTestify(https://github.com/stretchrcom/testify)を使ってみました。インストール。 go get github.com/stretchrcom/testifyテスト対象として以下のようなプログラムがあった場合。 package es…

Go向けVim設定メモ2

http://mattn.kaoriya.net/software/vim/20130531000559.htm を参考にVimの設定をやり直した。 これで色々とすっきり便利に。

Go向けvim設定メモ

CentOS上でGoをvimで書くための設定をしたのでメモ。http://tip.golang.org/misc/vim/readme.txt を参考に、ソースからvimの設定をコピー。それと.vimrcを設定したのでこれもメモ。 set t_Co=256 :syntax on set nocompatible set number set cmdheight=2 se…

Microsoft TranslatorをGoから使ってみた

前回、Rubyでやった翻訳API使用を今度はGo言語でもやってみた。 http://system.hateblo.jp/entry/2013/05/17/181822 とはいえGoらしい書き方がまだ分かってないんだけど。前回と同じくCygwinから使う想定(Windowsのプロンプトだと手を加えないとUTF-8文字が…