ラベル Go言語 の投稿を表示しています。 すべての投稿を表示
ラベル Go言語 の投稿を表示しています。 すべての投稿を表示

2010年11月28日日曜日

【GO言語で】ECHOコマンド実装【するゾ】

GOでECHOコマンドをすこし変えた機能を実装してみる。
・・・といっても公式サイトのチュートリアルそのままをちょろっといじっただけですが。

-----------------------------------------------------------------

package main


import (
"os"
"flag"
)


var omitNewline = flag.Bool("n", false, "don't print final newline")
//          ※bool型のポインタ(よく分からん・・・)


const (
Space   = " "
Newline = "\n"
)


func main() {
flag.Parse()
// ※実行時に渡された引数を一旦flagに設定する処理


var s string = ""
// ※ここは「var s = ""」もしくは「s := ""」でもOK


for i := 0; i < flag.NArg(); i++ {
// ※たぶんNArg()で取得した引数(空白で区切られた値)の数
if i > 0 {
s += Newline
}
s += flag.Arg(i)
}
if !*omitNewline {
//    ※ここの意味がよく分からない・・・(からっぽだったら??)
s += Newline
}
os.Stdout.WriteString(s)
// ※よみこんで設定しなおした内容を表示させる。
}



-----------------------------------------------------------------

作成した8exeに文字列(a b c・・・)を渡して実行すると、区切りごとに改行してコマンドプロンプトに表示する。
※通常のECHOコマンドは、改行しない。


2010年11月21日日曜日

Go言語で日本語表示

Go言語のソースファイルはUTF-8で作成しますが、コマンドで日本語を表示する処理を実行すると文字化けします。

なので、まずコマンドプロンプトの文字コードをUTF-8に変更する必要があります。
変更用のコマンドは以下の通り

chcp 65001
※数値はUTF-8を示す値

ちなみに起動用のバッチに上記のコマンドを組み込もうとしたけど、chchpが実行された瞬間に落ちる。
別ウインドウが開いて処理が終わるっぽいけど、いまいちうまいやり方がわからない。分かったらまたメモします。

Go言語をwindowsで開発

Go言語をwindowsで開発するために必要な環境設定の方法のメモ。

昔1回環境作ったにも関わらずど忘れしたので、反省してちゃんと記録に残しておきます・・・

※Go言語についてはこちら
http://golang.org/

1.コンパイラはソースしか置いてなくて、Cでコンパイルしろと書いてるので、バイナリをアップしてくださっている親切なサイトをから頂く。
コンパイラ

2.これを解凍して適当に保存する。(c:\go_sdkとか)

3.環境変数を設定する。
GOARCH = 386
GOOS = mingw
GOROOT = C:\go_sdk
PATH にC:\go_sdk\binを追加

GOOSとGOARCHは、pkgフォルダ配下にあるライブラリのフォルダ名を判断するのにう使われているみたい。
※コンパイラのタイプが3種類くらいあるみたいなので、その種類によって変える必要あり。
今回は「C:\go_sdk\pkg\mingw_386」なので上記の設定になります。
もしかしたらこれ以外にも意味があってコンパイラの種類を内部的に判断しているかもしれないけど、他のタイプのコンパイルで適当に設定したけどいまんとこ問題ありません・・・たぶん。


4.コンパイル
ソースファイルがsample.goの場合、
コマンドプロンプトで「8g sample.go」を実行してsample.8を生成。
次に、「8l sample.8」で8.exeを生成

5.実行
コマンドプロンプトで8.exeを実行すると、8exeが起動される。