<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Go towards a Word-Progress &#187; Go</title>
	<atom:link href="http://wordprogress.org/archives/tag/go/feed" rel="self" type="application/rss+xml" />
	<link>http://wordprogress.org</link>
	<description>　～言霊とプログラム言語の共進化!?</description>
	<lastBuildDate>Fri, 22 Jan 2010 03:37:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>(ネタ)　GoでForthで日本語プログラミングなのだ。</title>
		<link>http://wordprogress.org/archives/938</link>
		<comments>http://wordprogress.org/archives/938#comments</comments>
		<pubDate>Sun, 17 Jan 2010 20:54:47 +0000</pubDate>
		<dc:creator>kyon</dc:creator>
				<category><![CDATA[Go]]></category>
		<category><![CDATA[Forth]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=938</guid>
		<description><![CDATA[Go上で実装された最初の言語はどうやらForthっぽい。
http://github.com/ArtemTitoulenko/GoForth/
マイノリティ言語好きのくせにForthはノーチェックだったのでちょっとググってみる。
	日本語をForthにコンパイルする日本語プログラミング言語Mindという先達が今も気を吐いているのに驚いた(Mindで書かれた商用の全文検索がばりばり現役)
	・・・ので、せっかくだから「擬似日本語=&#62;Forth =&#62;Goコード」というものをやってみようかと。
日本語は簡単な文字列の置換でそこそこforthコードを吐き出せるらしい。試しに書いてみた
&#8212;-(日本語コード)&#8212;#ループカウンタ「i」は事前定義とのこと
変数sum
	0をsumに代入
	50以下について、
	&#160;&#160; &#160; &#160;「sumを参照し、iと足して、sumに代入する。」
	というループ。
&#8212;-(自動変換後のForthコード)&#8212;

variable sum
0 sum !
50 0 do &#160; &#160;&#160;
&#160;&#160;sum @ &#160;i + &#160; sum ! &#160; &#160;
&#160;&#160; loop&#160;
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
&#160;
単発ネタのつもりだったが、日本語で並列処理を書けたら面白いかもしれないので、
もう少し追いかけてみようかな。
アセンプラとの親和性が売りらしいForth、果たして、Goとどう組み合わせるべきか。
&#160;

]]></description>
			<content:encoded><![CDATA[<p>Go上で実装された最初の言語はどうやらForthっぽい。</p>
<p><a href="http://github.com/ArtemTitoulenko/GoForth/">http://github.com/ArtemTitoulenko/GoForth/</a></p>
<p>マイノリティ言語好きのくせにForthはノーチェックだったのでちょっとググってみる。<br />
	日本語をForthにコンパイルする日本語プログラミング言語Mindという先達が今も気を吐いているのに驚いた(Mindで書かれた商用の全文検索がばりばり現役)<br />
	・・・ので、せっかくだから「擬似日本語=&gt;Forth =&gt;Goコード」というものをやってみようかと。</p>
<p>日本語は簡単な文字列の置換でそこそこforthコードを吐き出せるらしい。試しに書いてみた</p>
<p>&#8212;-(日本語コード)&#8212;#ループカウンタ「i」は事前定義とのこと</p>
<p><span style="color:#800000;">変数sum<br />
	0をsumに代入<br />
	50以下について、<br />
	&nbsp;&nbsp; &nbsp; &nbsp;「sumを参照し、iと足して、sumに代入する。」<br />
	というループ。</span></p>
<p>&#8212;-(自動変換後のForthコード)&#8212;</p>
<div>
<div><span style="color:#f00;">variable sum</span></div>
<div><span style="color:#f00;">0 sum !</span></div>
<div><span style="color:#f00;">50 0 do &nbsp; &nbsp;&nbsp;</span></div>
<div><span style="color:#f00;">&nbsp;&nbsp;sum @ &nbsp;i + &nbsp; sum ! &nbsp; &nbsp;</span></div>
<div><span style="color:#f00;">&nbsp;&nbsp; loop&nbsp;</span></div>
<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</div>
<div>&nbsp;</div>
<div>単発ネタのつもりだったが、日本語で並列処理を書けたら面白いかもしれないので、</div>
<div>もう少し追いかけてみようかな。</div>
<div>アセンプラとの親和性が売りらしいForth、果たして、Goとどう組み合わせるべきか。</div>
<div>&nbsp;</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/938/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Golangのアップデートについて</title>
		<link>http://wordprogress.org/archives/929</link>
		<comments>http://wordprogress.org/archives/929#comments</comments>
		<pubDate>Wed, 13 Jan 2010 00:59:25 +0000</pubDate>
		<dc:creator>アルケー</dc:creator>
				<category><![CDATA[Go]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=929</guid>
		<description><![CDATA[・・・なんと、Golangのアップデートについて書いた投稿を更新時に、WordPressのアップデートの影響によってか消えてしまった。。。 まぁ、golangの公式アップデートは半月に一回ぐらいで、以下のようやるんだけれどけっこう時間がかかるねぇというお話だった。
$ cd $GOROOT/src
$ hg pull
$ hg update release
$ make all
&#160;
で、問題はWindowsでGolang MLでもちょこちょこ議論されているところなんだけど、書いたことが消えちゃったし、問題は解決できるわけでもないので、取り急ぎ。ここまで(汗)。。。
]]></description>
			<content:encoded><![CDATA[<p>・・・なんと、Golangのアップデートについて書いた投稿を更新時に、WordPressのアップデートの影響によってか消えてしまった。。。 まぁ、golangの公式アップデートは半月に一回ぐらいで、以下のようやるんだけれどけっこう時間がかかるねぇというお話だった。</p>
<p>$ cd $GOROOT/src</p>
<p>$ hg pull</p>
<p>$ hg update release</p>
<p>$ make all</p>
<div>&nbsp;</div>
<div>で、問題はWindowsでGolang MLでもちょこちょこ議論されているところなんだけど、書いたことが消えちゃったし、問題は解決できるわけでもないので、取り急ぎ。ここまで(汗)。。。</div>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/929/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GoのSinatra風フレームワーク(?)web.goでハローワールド＋α</title>
		<link>http://wordprogress.org/archives/868</link>
		<comments>http://wordprogress.org/archives/868#comments</comments>
		<pubDate>Thu, 24 Dec 2009 14:07:03 +0000</pubDate>
		<dc:creator>アルケー</dc:creator>
				<category><![CDATA[Go]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=868</guid>
		<description><![CDATA[12月に入ってから、開発が続けられているGolangのSinatra風フレームワーク(?)web.go。
http://github.com/hoisie/web.go
ビルドには、最新版のgolangが必要。特徴は、バイナリにコンパイルして実行するから高速とのこと。クリスマスイブの夜に、VPSでいきなり80番開放してテストしてみる。
今晩はハローワールドのみ。
package main

import (
    "fmt"
    "web"
)

func hello(val string) string {
 return fmt.Sprintf("こんにちは、世界 %s", val)
}

func main() {
    web.Get("/(.*)", hello)
    web.Run("0.0.0.0:80")
}
キモは、「web.Get(&#8220;/(.*)&#8221;, hello)」のところで、関数helloにurlの/以下のユーザーが入力した値が渡される。

Golang開発チームからのクリスマスプレゼントで、プログラム中にセミコロンを書かかなくとも良くなった(ほとんどの場合)。省略ルールの詳細は押さえていないが、「スクリプト風言語」にいよいよGolangも仲間入りした気がするなぁ。

実行結果は以下の通り :
[入力]
http://MyDomain.jp/。メリークリスマス!!
[出力]
こんにちは、世界 。メリークリスマス!!
とりあえず、web.go、UTF-8でソースを書けば、日本語込みで動作するよ、との報告まで。
Sinatra風か・・・どうかはこれから検証予定(POSTも動作している模様)
・・・おそらく、web.go これからもけっこう変化するんだろうけれど、これからに期待ということで。
]]></description>
			<content:encoded><![CDATA[<p>12月に入ってから、開発が続けられているGolangのSinatra風フレームワーク(?)web.go。</p>
<p><a href="http://github.com/hoisie/web.go">http://github.com/hoisie/web.go</a></p>
<p>ビルドには、最新版のgolangが必要。特徴は、バイナリにコンパイルして実行するから高速とのこと。クリスマスイブの夜に、VPSでいきなり80番開放してテストしてみる。<br />
今晩はハローワールドのみ。</p>
<pre class="brush:c">package main

import (
    "fmt"
    "web"
)

func hello(val string) string {
 return fmt.Sprintf("こんにちは、世界 %s", val)
}

func main() {
    web.Get("/(.*)", hello)
    web.Run("0.0.0.0:80")
}</pre>
<p>キモは、「<strong>web.Get(&#8220;/(.*)&#8221;, hello)</strong>」のところで、関数helloにurlの/以下のユーザーが入力した値が渡される。</p>
<ul>
<li><em>Golang開発チームからのクリスマスプレゼントで、プログラム中にセミコロンを書かかなくとも良くなった(ほとんどの場合)。省略ルールの詳細は押さえていないが、「スクリプト風言語」にいよいよGolangも仲間入りした気がするなぁ。</em></li>
</ul>
<p>実行結果は以下の通り :<br />
[入力]</p>
<p>http://MyDomain.jp/。メリークリスマス!!</p>
<p>[出力]<br />
こんにちは、世界 。メリークリスマス!!</p>
<p>とりあえず、web.go、UTF-8でソースを書けば、日本語込みで動作するよ、との報告まで。<br />
Sinatra風か・・・どうかはこれから検証予定(POSTも動作している模様)<br />
・・・おそらく、web.go これからもけっこう変化するんだろうけれど、これからに期待ということで。</p>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/868/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>恥ずかしながら、@IT誌にグーグルGolang記事の連載を開始しました。</title>
		<link>http://wordprogress.org/archives/817</link>
		<comments>http://wordprogress.org/archives/817#comments</comments>
		<pubDate>Thu, 03 Dec 2009 05:45:58 +0000</pubDate>
		<dc:creator>kei</dc:creator>
				<category><![CDATA[Go]]></category>
		<category><![CDATA[ご挨拶]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=817</guid>
		<description><![CDATA[@IT誌にグーグルGolangの記事の連載を開始させていただきました(こちら)。
ありがたいことに、相当数の方にはてぶしていただいておりまして、年末のGo言語界隈の話題提供に多少お役に立てているかと思っています。
ただ、第一回目の内容は、２週間近く前に書いたものでして、今見返すと、「恥ずかしながら・・・」 な微妙な記載や誤りもありました　( 速報的に記事を書いた後、別件に関わっていたこともあり内容をあまり見直しができておらず・・・早速、ありがたいご指摘もいただきましたので、訂正できる部分は確認の上、訂正したいと思います)。
現在もGolangは楽しんで学ばせていただいておりまして、今後仕事の場でもGolangを使いはじめてみたいと思っています
(当初は、Perlなどのスクリプト言語と組み合わせてのバッチ処理記述に用いたいと思っています。・・・来年１年くらいかけて、もっと先までいけるといいなと、願いつつ)。
勉強を続けてまいりますので。連載記事の方、温かい目で眺めてもらえますと幸いです。
（むろん、誤りが見受けられる際には、ビシバシご指摘いただけますとありがたいです)。
それでは、今後ともよろしくお願いいたします。
[付記]
当サイトには、Golang・Goを検索キーワード経由で多数の方にお越しいただいています。本日は、加えて@IT誌のgolang記事からも多数の方にお越しいただいています。ちょっと気になって、オープン１月ほどの当サイトのアクセスについて、ブラウザのシェアを見てみたところ、以下のようになりました。

Firefox	49.18%
Chrome	17.95%
Internet Explorer	16.97%
Safari	8.94%
Opera	3.34%

興味深いことに、IEを若干押さえて、Chromeが上位にきています。Golangに興味を持つ方々にとっては、Chromeはすでにメジャーなブラウザであるようです(私もChrome/Safariユーザー)。

Chrome/Chrome OSのプラグイン等の記述に、golangが用いられる日はいつごろなのでしょうか・・・  
「恥ずかしながら・・・」 な「恥ずかしながら・・・」 な「恥ずかしながら・・・」 な「恥ずかしながら・・・」 な
]]></description>
			<content:encoded><![CDATA[<p>@IT誌にグーグルGolangの記事の連載を開始させていただきました(<a href="http://www.atmarkit.co.jp/fcoding/articles/go/01/go01a.html">こちら</a>)。</p>
<p>ありがたいことに、相当数の方にはてぶしていただいておりまして、年末のGo言語界隈の話題提供に多少お役に立てているかと思っています。</p>
<p>ただ、第一回目の内容は、２週間近く前に書いたものでして、今見返すと、「恥ずかしながら・・・」 な微妙な記載や誤りもありました　( 速報的に記事を書いた後、別件に関わっていたこともあり内容をあまり見直しができておらず・・・早速、ありがたいご指摘もいただきましたので、訂正できる部分は確認の上、訂正したいと思います)。</p>
<p>現在もGolangは楽しんで学ばせていただいておりまして、今後仕事の場でもGolangを使いはじめてみたいと思っています<br />
(当初は、Perlなどのスクリプト言語と組み合わせてのバッチ処理記述に用いたいと思っています。・・・来年１年くらいかけて、もっと先までいけるといいなと、願いつつ)。</p>
<p>勉強を続けてまいりますので。連載記事の方、温かい目で眺めてもらえますと幸いです。<br />
（むろん、誤りが見受けられる際には、ビシバシご指摘いただけますとありがたいです)。</p>
<p>それでは、今後ともよろしくお願いいたします。</p>
<h4>[付記]</h4>
<p>当サイトには、Golang・Goを検索キーワード経由で多数の方にお越しいただいています。本日は、加えて@IT誌のgolang記事からも多数の方にお越しいただいています。ちょっと気になって、オープン１月ほどの当サイトのアクセスについて、ブラウザのシェアを見てみたところ、以下のようになりました。</p>
<ol>
<li>Firefox	49.18%</li>
<li>Chrome	17.95%</li>
<li>Internet Explorer	16.97%</li>
<li>Safari	8.94%</li>
<li>Opera	3.34%</li>
</ol>
<p>興味深いことに、IEを若干押さえて、Chromeが上位にきています。Golangに興味を持つ方々にとっては、Chromeはすでにメジャーなブラウザであるようです(私もChrome/Safariユーザー)。</p>
<p><img class="aligncenter size-full wp-image-818" title="緑がchrome" src="http://wordprogress.org/wp2045/wp-content/uploads/2009/12/緑がchrome.jpg" alt="緑がchrome" width="361" height="282" /></p>
<p>Chrome/Chrome OSのプラグイン等の記述に、golangが用いられる日はいつごろなのでしょうか・・・ <img src='http://wordprogress.org/wp2045/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 33px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">「恥ずかしながら・・・」 な「恥ずかしながら・・・」 な「恥ずかしながら・・・」 な「恥ずかしながら・・・」 な</div>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/817/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP5.3記事をgolang視点で見てみる　その１　クロージャ</title>
		<link>http://wordprogress.org/archives/798</link>
		<comments>http://wordprogress.org/archives/798#comments</comments>
		<pubDate>Tue, 01 Dec 2009 07:04:38 +0000</pubDate>
		<dc:creator>kyon</dc:creator>
				<category><![CDATA[Go]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=798</guid>
		<description><![CDATA[ついに平日昼間もgolangしだした。
functionとfuncがかぶるとかだけじゃなく、少なくともコードの見た目はけっこう似たもの同士かなと秘かに思っていたPHPとgolang。
しかも、PHP5.3は名前空間にクロージャPHP6.0ではユニコードと、PHPの将来はなんだかgolangな方(?)を向いている気が。
ついでに、国内golang一番手といって良いだろうmoriyoshi氏は、Python界隈だけなく、PHP を魔改造して「いじり」倒しているPHP界隈の人でもある(氏の肉声はこちら・・・勉強になるので、ブログ書きながら肉声でお勉強(以下、勝手に「★」で割り込ませる)。)。・・・逆にruby界隈からgolnagに攻めてきている人はいないなぁ。
★そっか、PHPはテンプレートエンジンなのか。SAPIモジュールとか、なんも知らんかったなぁ。
ということで、PHP5.3記事をgolang視点で見てみた・・・ら、やっぱりけっこう似ているぞ。ということで、調子に乗って、シリーズ化してしまおう。
★TSRMというのが、マルチスレッド化に関与しているのか　@ ZendEngineと。

今回は、gihyo.jpのPHP5.3記事(クロージャとgo to文)。
元のPHPソースを引用。はじめに無名関数。
※　&#60;?php～?&#62;の部分はうまく表示されないようなので、省略。
$fruits = array(
  "lemon"=&#62;156, "orange"=&#62;210, "banana"=&#62;180, "apple"=&#62;343);
array_walk($fruits,function($price,$name) {
 echo $name.':'.$price.PHP_EOL; });
ここで、array_walkは、配列の各要素に対して、 関数で定義した操作をする(いわゆるmap 関数)。　参考サイト　PHPの配列関連の処理についての解説
ほぼそのままgolangに移すと :
package main
import ("fmt";)

func main() {
  fruits := map[string] int {
    "lemon":156, "orange":210, "banana":180, "apple":343
  };
  for key ,val := range fruits {
    func (price int, name string)   [...]]]></description>
			<content:encoded><![CDATA[<p>ついに平日昼間もgolangしだした。</p>
<p>functionとfuncがかぶるとかだけじゃなく、少なくともコードの見た目はけっこう似たもの同士かなと秘かに思っていたPHPとgolang。<br />
しかも、PHP5.3は名前空間にクロージャPHP6.0ではユニコードと、PHPの将来はなんだかgolangな方(?)を向いている気が。<br />
ついでに、国内golang一番手といって良いだろうmoriyoshi氏は、Python界隈だけなく、PHP を魔改造して「いじり」倒しているPHP界隈の人でもある(氏の肉声は<a href="http://www.ustream.tv/recorded/2107442">こちら</a>・・・勉強になるので、ブログ書きながら肉声でお勉強(以下、勝手に「★」で割り込ませる)。)。・・・逆にruby界隈からgolnagに攻めてきている人はいないなぁ。</p>
<blockquote><p>★そっか、PHPはテンプレートエンジンなのか。SAPIモジュールとか、なんも知らんかったなぁ。</p></blockquote>
<p>ということで、PHP5.3記事をgolang視点で見てみた・・・ら、やっぱりけっこう似ているぞ。ということで、調子に乗って、シリーズ化してしまおう。</p>
<blockquote><p>★TSRMというのが、マルチスレッド化に関与しているのか　@ ZendEngineと。</p></blockquote>
<hr/>
今回は、<a href="http://gihyo.jp/dev/feature/01/php53/0002?page=2">gihyo.jpのPHP5.3記事(クロージャとgo to文)</a>。</p>
<p>元のPHPソースを引用。はじめに無名関数。<br />
※　&lt;?php～?&gt;の部分はうまく表示されないようなので、省略。</p>
<pre class="brush:php">$fruits = array(
  "lemon"=&gt;156, "orange"=&gt;210, "banana"=&gt;180, "apple"=&gt;343);
array_walk($fruits,function($price,$name) {
 echo $name.':'.$price.PHP_EOL; });</pre>
<p>ここで、array_walkは、配列の各要素に対して、 関数で定義した操作をする(いわゆるmap 関数)。　参考サイト　<a href="http://www.stackasterisk.jp/tech/php/php03_08.jsp">PHPの配列関連の処理についての解説</a></p>
<p>ほぼそのままgolangに移すと :</p>
<pre class="brush:java">package main
import ("fmt";)

func main() {
  fruits := map[string] int {
    "lemon":156, "orange":210, "banana":180, "apple":343
  };
  for key ,val := range fruits {
    func (price int, name string)    {        //無名関数の宣言
        fmt.Printf("%sは、%d円\n",name,price)    //無名関数の本体
    } (val,key)                               //無名関数への引数
  }
}</pre>
<p>[実行結果]<br />
C:\go-win\mysrc>.\8.exe<br />
bananaは、180円<br />
orangeは、210円<br />
appleは、343円<br />
lemonは、156円</p>
<blockquote><p>★PHPのコンパイラーの動作・・・Lexerがトークンに分割。</p></blockquote>
<p>次に、レキシカル変数の例を引用。use・・・を使うことが、PHP5.3的なレキシカル変数では必要とのこと。</p>
<pre class="brush:php">function sum_includes_tax($items, $tax) {
  $total = 0;
  array_walk($items,
    function($price,$name) use (&amp;$total, $tax)
    {
      echo $name.':'.$price.'('.(int)($price*$tax).')'.PHP_EOL;
      $total += ($price+(int)($price*$tax));
    }
  );
  return $total;
}

$items = array(
  "lemon"=&gt;100, "orange"=&gt;200, "banana"=&gt;300, "apple"=&gt;400);
$total = sum_includes_tax($items, 0.05);
echo 'TOTAL:'.$total.PHP_EOL;</pre>
<p>ほぼそのままgolangに移すと :</p>
<pre class="brush:java">package main
import ("fmt";)

func sum_includes_tax(items map[string] int, tax float) int     {
  //レキシカル変数 : total
  total := 0;
  for k ,v := range items {
    func(price int, name string) {
       pt := int (float (price) * tax);
       fmt.Printf("%sは、%d円(税%d円)\n",name,price,pt);
       total += (price+ int (pt) );
    }(v,k)
  };
  return total;
}

func main() {
  items := map[string] int {
    "lemon":100, "orange":200, "banana":300, "apple":400
  };
  total := sum_includes_tax(items, 0.05);
  fmt.Printf("合計、税込み%d円\n",total);
}</pre>
<p>[実行結果]<br />
C:\go-win\mysrc>.\8.exe<br />
bananaは、300円(税15円)<br />
orangeは、200円(税10円)<br />
appleは、400円(税20円)<br />
lemonは、100円(税5円)<br />
合計、税込み1050円</p>
<hr/>
うん、いきなり、Rubyとか、魔人Booとか相手にせずに、はじめにPHPと組み手するのが、golangマスターへの近道かも。</p>
<blockquote><p>★おおっ、でも、moriyoshi氏は、PHPをRubyっぽく改造しだしたぞ。すげー。</p></blockquote>
<p>PHP5.3見るついでに、CodeIgnighter1.7.2あたりのバックエンドにgolang-redisを持ってきてみようと思っている今日この頃。続く。</p>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/798/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>goで書く　その６　mutableなmap</title>
		<link>http://wordprogress.org/archives/790</link>
		<comments>http://wordprogress.org/archives/790#comments</comments>
		<pubDate>Tue, 01 Dec 2009 04:23:54 +0000</pubDate>
		<dc:creator>アルケー</dc:creator>
				<category><![CDATA[Go]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=790</guid>
		<description><![CDATA[60分シリーズ開始。
のつもりだったけど、mapへの要素追加方法だけを確したいだけだったので、30分ちょいで書いたになりました、です。あと、flag、ようやく使って見た。

package main
import ("fmt"; "strconv";"flag";)

func main(){
  flag.Parse();
  mp := make(map[string]string);

  if flag.NArg() != 0 {
    for i := 0; i < flag.NArg(); i++ {
	  mp[flag.Arg(i)] = "会員番号"+strconv.Itoa(i)
    } 

    for k,v := range mp {
    	fmt.Printf("%sは、%s\n",k,v)
    }
 [...]]]></description>
			<content:encoded><![CDATA[<p>60分シリーズ開始。<br />
のつもりだったけど、mapへの要素追加方法だけを確したいだけだったので、30分ちょいで書いたになりました、です。あと、flag、ようやく使って見た。</p>
<pre class="brush:java">
package main
import ("fmt"; "strconv";"flag";)

func main(){
  flag.Parse();
  mp := make(map[string]string);

  if flag.NArg() != 0 {
    for i := 0; i < flag.NArg(); i++ {
	  mp[flag.Arg(i)] = "会員番号"+strconv.Itoa(i)
    } 

    for k,v := range mp {
    	fmt.Printf("%sは、%s\n",k,v)
    }
  }
}
</pre>
<p>C:\go-win\mysrc>.\8.exe taro jiro sabu<br />
sabuは、会員番号2<br />
taroは、会員番号0<br />
jiroは、会員番号1</p>
<p>当然だけど、mapは順序の方は保証されないね。</p>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/790/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>寝つきが悪いので、golangでクロージャとmap</title>
		<link>http://wordprogress.org/archives/783</link>
		<comments>http://wordprogress.org/archives/783#comments</comments>
		<pubDate>Mon, 30 Nov 2009 17:29:23 +0000</pubDate>
		<dc:creator>kyon</dc:creator>
				<category><![CDATA[Go]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=783</guid>
		<description><![CDATA[golangはクロージャもできる子。
というわけで、まだ使ったことなかったgolangのクロージャとmapしてみた。
とりあえず、クロージャで書く意味はないコードをさらす。12月は佐々木月らしいので :
package main

import ("fmt"; "strconv";)

func main() {
  //クロージャで参照される変数。
  minimum := 20;
  count := 0;
  //クロージャの定義
  logic := func(age int) (b bool) {
    if age &#62;= minimum {
        b = true;
        count ++;
  [...]]]></description>
			<content:encoded><![CDATA[<p>golangはクロージャもできる子。<br />
というわけで、まだ使ったことなかったgolangのクロージャとmapしてみた。<br />
とりあえず、クロージャで書く意味はないコードをさらす。12月は佐々木月らしいので :</p>
<pre class="brush:c">package main

import ("fmt"; "strconv";)

func main() {
  //クロージャで参照される変数。
  minimum := 20;
  count := 0;
  //クロージャの定義
  logic := func(age int) (b bool) {
    if age &gt;= minimum {
        b = true;
        count ++;
    } else {b = false}
    return b;
  };

  check(logic);
  fmt.Println("成人は、" + strconv.Itoa(count) + "人。")
}

func check(logic func(int) bool) {
    group := map[string] int {
                "佐々木": 16,
                "藤原": 20,
                "橘": 16,
                "周防": 99,
        };

  for key ,val := range group {
    if logic(val)  {
        fmt.Println(key+"は成人")
    };
  }
}</pre>
<p>[実行結果]<br />
C:\go-win\mysrc&gt;.\8.exe<br />
周防は成人<br />
藤原は成人<br />
成人は、2人。</p>
<hr />
コードも実行結果も萌えないことこの上ない。<br />
・・・元ねたは由緒正しく<a href="http://capsctrl.que.jp/kdmsnr/wiki/bliki/?Closure">martinfowler biki(日本語訳)</a>だったのだが、酒が回ってきているためか、ひどいことに<br />
・・・ あかん、深夜ではなく昼から酒飲んで<del datetime="2009-11-30T17:13:24+00:00">豪遊</del>golangできるヒルズ族とかにならなければ、golangで由緒正しく高階操作とか書けないや。</p>
<hr />
追記　<a href="http://boo.codehaus.org/Martin+Fowler's+closure+examples+in+boo">Booはちゃんとできる子</a>。ちょっと悔しい。</p>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/783/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>go-windowsはXMLも簡単にパースできるというか、やっぱコンパイル等劇速。</title>
		<link>http://wordprogress.org/archives/772</link>
		<comments>http://wordprogress.org/archives/772#comments</comments>
		<pubDate>Sun, 29 Nov 2009 15:56:58 +0000</pubDate>
		<dc:creator>kyon</dc:creator>
				<category><![CDATA[Go]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=772</guid>
		<description><![CDATA[以下、ライブラリ対応が不完全とか文句言われている、go-windows、けっこうまともに動いているよのエントリ。
前回、質実剛健宣言したわりにはまたも軟弱なコードだが、Print文の手直ししての再コンパイル～リンク～実行終了まで0.1秒くらいしかかからなかったことに今さらながら感動したのでコードと実行結果をさらしておく。Golang、Pascalを彷彿させるとかいう古典的な文法を持ちながら、XMLライブラリは相当モダンで 「来たぜ21世紀的」。ちょっとそっけないけど、悪くない。やはり、golangには質実剛健に取り組みたくなる今日この頃。
参考サイト =&#62; こちらの方がぜんぜん質実剛健にやっておられるぞ。
package main

import ("fmt"; "flag"; "os"; "io";"xml";)

type Member struct {
    Name string;
    Org string;
    Char string;
}

type Meibo struct {
    GroupName string;
    Member []Member;
}

func main() {
  flag.Parse();
  if flag.NArg() == 0 {
    fmt.Printf("using: %v [...]]]></description>
			<content:encoded><![CDATA[<p>以下、ライブラリ対応が不完全とか文句言われている、go-windows、けっこうまともに動いているよのエントリ。</p>
<p>前回、質実剛健宣言したわりにはまたも軟弱なコードだが、Print文の手直ししての再コンパイル～リンク～実行終了まで0.1秒くらいしかかからなかったことに今さらながら感動したのでコードと実行結果をさらしておく。Golang、Pascalを彷彿させるとかいう古典的な文法を持ちながら、XMLライブラリは相当モダンで 「来たぜ21世紀的」。ちょっとそっけないけど、悪くない。やはり、golangには質実剛健に取り組みたくなる今日この頃。<br />
参考サイト =&gt; <a href="http://kumama.org/2009/11/google-go-reading-xml/">こちらの方がぜんぜん質実剛健にやっておられるぞ。</a></p>
<pre class="brush:c">package main

import ("fmt"; "flag"; "os"; "io";"xml";)

type Member struct {
    Name string;
    Org string;
    Char string;
}

type Meibo struct {
    GroupName string;
    Member []Member;
}

func main() {
  flag.Parse();
  if flag.NArg() == 0 {
    fmt.Printf("using: %v filename\n", os.Args[0]);
  } else {
    name := flag.Args()[0];
    byt, err := io.ReadFile(name);
    if byt == nil {
      fmt.Fprintf(os.Stderr, "えらー%v\n", err);
      os.Exit(1);
    }
    fmt.Println("---------------- バイト列として表示 ----------------");
    fmt.Printf("%v \n",byt);
    fmt.Println("----------------- 文字列として表示 ---------------");
    fmt.Println(string(byt)); // case from []byte ro string ?

    // XMLとしての解析
    var result Meibo;
    op_file, err := os.Open( name, os.O_RDONLY, 0 );
    if err != nil {
        op_file.Close();
        fmt.Printf( "patch file open Error!\n" );
    }
    xml.Unmarshal( op_file, &amp;result ) ;

    fmt.Println("---------------- XMLとしての解析結果 ----------------");
    fmt.Printf( "組織「%s」の会員概要\n", result.GroupName);
    for i, p := range result.Member {
        fmt.Printf( "団員番号%d:　「%s」は「%s」に属している%s\n", i, p.Name ,p.Org, p.Char);
    }
  }
}</pre>
<p>[sos.xmlを解析する実行結果]</p>
<pre>C:\go-win\mysrc&gt;.\8.exe sos.xml
---------------- バイト列として表示 ----------------
[60 63 120 109 108 32 118 101 114 115 105 111 110 61 34 49 46 48 34 32 101 110 9
9 111 100 105 110 103 61 34 85 84 70 45 56 34 63 62 13 10 60 109 101 105 98 111
62 13 10 32 32 32 32 32 32 32 32 32 60 103 114 111 117 112 110 97 109 101 62 231
 149 165 227 129 151 227 129 166 83 79 83 229 155 163 60 47 103 114 111 117 112
110 97 109 101 62 13 10 32 32 32 32 32 32 32 32 32 60 109 101 109 98 101 114 62
13 10 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 60 110 97 109 101 62 23
3 149 183 233 150 128 230 156 137 229 184 140 60 47 110 97 109 101 62 13 10 32 3
2 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 60 111 114 103 62 230 131 133 229
 160 177 231 181 177 229 144 136 230 128 157 229 191 181 228 189 147 60 47 111 1
14 103 62 13 10 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 60 99 104 97
114 62 229 174 135 229 174 153 228 186 186 60 47 99 104 97 114 62 13 10 32 32 32
 32 32 32 32 32 32 60 47 109 101 109 98 101 114 62 13 10 32 32 32 32 32 32 32 32
 32 60 109 101 109 98 101 114 62 13 10 32 32 32 32 32 32 32 32 32 32 32 32 32 32
 32 32 32 60 110 97 109 101 62 230 156 157 230 175 148 229 165 136 227 129 191 2
27 129 143 227 130 139 60 47 110 97 109 101 62 13 10 32 32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32 60 111 114 103 62 231 166 129 229 137 135 228 186 139 23
3 160 133 60 47 111 114 103 62 13 10 32 32 32 32 32 32 32 32 32 32 32 32 32 32 3
2 32 32 60 99 104 97 114 62 230 156 170 230 157 165 228 186 186 60 47 99 104 97
114 62 13 10 32 32 32 32 32 32 32 32 32 60 47 109 101 109 98 101 114 62 13 10 32
 32 32 32 32 32 32 32 32 60 109 101 109 98 101 114 62 13 10 32 32 32 32 32 32 32
 32 32 32 32 32 32 32 32 32 32 60 110 97 109 101 62 229 143 164 230 179 137 228
184 128 230 168 185 60 47 110 97 109 101 62 13 10 32 32 32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 60 111 114 103 62 231 181 132 231 185 148 60 47 111 114 103
 62 13 10 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 60 99 104 97 114 62
 229 174 135 229 174 153 228 186 186 60 47 99 104 97 114 62 13 10 32 32 32 32 32
 32 32 32 32 60 47 109 101 109 98 101 114 62 13 10 32 60 47 109 101 105 98 111 6
2]
----------------- 文字列として表示 ---------------
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;meibo&gt;
         &lt;groupname&gt;略してSOS団&lt;/groupname&gt;
         &lt;member&gt;
                 &lt;name&gt;長門有希&lt;/name&gt;
                 &lt;org&gt;情報統合思念体&lt;/org&gt;
                 &lt;char&gt;宇宙人&lt;/char&gt;
         &lt;/member&gt;
         &lt;member&gt;
                 &lt;name&gt;朝比奈みくる&lt;/name&gt;
                 &lt;org&gt;禁則事項&lt;/org&gt;
                 &lt;char&gt;未来人&lt;/char&gt;
         &lt;/member&gt;
         &lt;member&gt;
                 &lt;name&gt;古泉一樹&lt;/name&gt;
                 &lt;org&gt;組織&lt;/org&gt;
                 &lt;char&gt;超能力者&lt;/char&gt;
         &lt;/member&gt;
&lt;/meibo&gt;
---------------- XMLとしての解析結果 ----------------
組織「略してSOS団」の会員概要
団員番号0:　「長門有希」は「情報統合思念体」に属している宇宙人
団員番号1:　「朝比奈みくる」は「禁則事項」に属している未来人
団員番号2:　「古泉一樹」は「組織」に属している超能力者<span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: small;"><span style="line-height: 19px; white-space: normal; ">
</span></span></pre>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/772/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>goで書く　その5　３０分以内でsliceとStringVector</title>
		<link>http://wordprogress.org/archives/763</link>
		<comments>http://wordprogress.org/archives/763#comments</comments>
		<pubDate>Sun, 29 Nov 2009 11:14:00 +0000</pubDate>
		<dc:creator>アルケー</dc:creator>
				<category><![CDATA[Go]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=763</guid>
		<description><![CDATA[３０分以内縛りの最終回。moriyoshi氏のプレゼンがsliceで終わっていたのと、どこかで、mutableなStringは、StringVectorなんだね、とつぶやいていた方がいたので、両者の関係をお勉強。ライブラリ読んでるだけで、20分以上たってしまったので、コードと実行結果だけ。

package main

import "fmt";
import "container/vector";

func main() {
	vec := vector.NewStringVector(0);
	vec.Push("abc");
	vec.Push("DEF");
	vec.Push("ghi");
	vec.Push("いろは");
	vec.Push("ニホテト");
    fmt.Printf("StringVectorの中身\n　:　%s\n",vec);

    slc := vec.Data(); //Data()の返り値がsliceとなる
    fmt.Println("StringVectorの中身をsliceで取り出しrangeでつなげる");
    for i,s :=range slc { fmt.Printf("%d:%s\n",i,s)}
    for _,s :=range slc { fmt.Print(s)}
}

[結果]　★go-windowsで実行
StringVectorの中身
　:　%s(*vector.StringVector=&#038;{{[abc DEF ghi いろは ニホテト]}})
StringVectorの中身をsliceで取り出しrangeでつなげる
0:abc
1:DEF
2:ghi
3:いろは
4:ニホテト
abcDEFghiいろはニホテト
&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
コピペミスなどで、制限時間オーバー、、。次回から６０分以内で学ぶにしよう・・・
]]></description>
			<content:encoded><![CDATA[<p>３０分以内縛りの最終回。moriyoshi氏のプレゼンがsliceで終わっていたのと、どこかで、mutableなStringは、StringVectorなんだね、とつぶやいていた方がいたので、両者の関係をお勉強。ライブラリ読んでるだけで、20分以上たってしまったので、コードと実行結果だけ。</p>
<pre class="brush:c">
package main

import "fmt";
import "container/vector";

func main() {
	vec := vector.NewStringVector(0);
	vec.Push("abc");
	vec.Push("DEF");
	vec.Push("ghi");
	vec.Push("いろは");
	vec.Push("ニホテト");
    fmt.Printf("StringVectorの中身\n　:　%s\n",vec);

    slc := vec.Data(); //Data()の返り値がsliceとなる
    fmt.Println("StringVectorの中身をsliceで取り出しrangeでつなげる");
    for i,s :=range slc { fmt.Printf("%d:%s\n",i,s)}
    for _,s :=range slc { fmt.Print(s)}
}
</pre>
<p>[結果]　★go-windowsで実行<br />
StringVectorの中身<br />
　:　%s(*vector.StringVector=&#038;{{[abc DEF ghi いろは ニホテト]}})<br />
StringVectorの中身をsliceで取り出しrangeでつなげる<br />
0:abc<br />
1:DEF<br />
2:ghi<br />
3:いろは<br />
4:ニホテト<br />
abcDEFghiいろはニホテト</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
コピペミスなどで、制限時間オーバー、、。次回から６０分以内で学ぶにしよう・・・</p>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/763/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>グーグルgolang　いよいよwindowsで「こんにちは、世界!!」</title>
		<link>http://wordprogress.org/archives/731</link>
		<comments>http://wordprogress.org/archives/731#comments</comments>
		<pubDate>Wed, 25 Nov 2009 16:48:09 +0000</pubDate>
		<dc:creator>kyon</dc:creator>
				<category><![CDATA[Go]]></category>

		<guid isPermaLink="false">http://wordprogress.org/?p=731</guid>
		<description><![CDATA[２日ほど前から、ダウンロード可能となっているgo-windows(こちら)。
golangしている人々とwindowsな人々とは接点が少ないのか、いまだにエントリーがないようなので、一応MSDNユーザーだったりする自分がエントリーしておく(といっても、いささか手抜きなので、ちゃんとした追加エントリーを期待しつつ)。
注意　以下、windows-vistaでの例

コマンドライン(cmd.exe)でMSゴシックなどが使えるようにしておく (たとえば、このあたりを参考にさせていただきつつ)。
※レジストリをいじり、再起動する必要がある
こちらから、go-1.zipをダウンロードし解凍先を決めて、解凍。
解凍先にコマンドラインのショートカットを作る。
「３」で作成したショートカットを右クリックし、起動時の文字コードをutf-8とする。具体的には、リンク先を「%SystemRoot%\system32\cmd.exe /f:on /k &#8220;chcp 65001&#8243;」と変更する(ついでに作業フォルダも決めておくと良い。)
お試しの人は、作業フォルダに以下の 内容のバッチファイル(例、g.bat)を作成し、保存する
 set GOROOT=C:\go-win
 set GOOS=mingw
 set GOARCH=386
[追記] mingw(Windows版GNU C)のインストールはコメントに指摘してくださった方の言う通り不要。
以下の内容のファイル(例、hi.go)をutf-8で作成し、保存する
package main
import "fmt"
func main() {
  fmt.Printf("こんにちは、世界!!\n")
}

コマンドラインに入り、PATHのgoのbinを追加(例、PATH=%PATH%;C:\go-win\bin)
５で設定したバッチファイル(例、g.bat)を実行
いよいよ、コンパイル&#38;リンク&#38;実行
C:\go-win\mysrc&#62;8g hi.go
C:\go-win\mysrc&#62;8l -o hi.exe hi.8
C:\go-win\mysrc&#62;hi.exe
こんにちは、世界!!


※　５と７は、環境変数に設定してしまう手もある。
※　(レジストリとか分かっているひと向け) 例えば、コマンドラインで以下(実際は一行)をタイプ一発でMSゴシックがcmd.exeに追加されるはず。自分の好きなフォントを追加するもご自由に。その前にレジストリのバックアップはしておこうね。
 reg add "HKLM\Software\Microsoft\Windows NT
\CurrentVersion\Console\TrueTypeFont" /v "0."
 /t "REG_SZ" /d "MS Gothic"
おおっ、なんとめんどくさい(躓く人が出てしまうことであろう・・・)。
その通りなのである。
とにかくvistaあたりまではwindowsはひたすら囲い込みをしていたから。。。cmd.exeがディフォルトでutf-8対応するのは、windows-8からなのではなかろうか!?
ついでに上のfmt.Printfのところの文字列に、fmt.Printf(&#8220;ただのWindowsには興味ありません。この中にWindow-8ユーザー、Window-9ユーザー、Window-10ユーザーがいたら私のところにきなさい。\n&#8220;)などと長い文字を指定してみると、ここまでやってきた方法が不完全であることがわかるだろう。。。
ともあれ、goのコンパイルはwindows版でも極めて高速なことだけは気持ちが良いので、興味ある方はがんばってトライしてみてください。
ライブラリの互換性などの報告はそのうちに。いやはや、タイトルに「!!」をつけた割には、歯切れの悪いエントリー、失礼。
]]></description>
			<content:encoded><![CDATA[<p>２日ほど前から、ダウンロード可能となっているgo-windows(<a href="http://code.google.com/p/go-windows/">こちら</a>)。<br />
golangしている人々とwindowsな人々とは接点が少ないのか、いまだにエントリーがないようなので、一応MSDNユーザーだったりする自分がエントリーしておく(といっても、いささか手抜きなので、ちゃんとした追加エントリーを期待しつつ)。</p>
<h3>注意　以下、windows-vistaでの例</h3>
<ol>
<li>コマンドライン(cmd.exe)でMSゴシックなどが使えるようにしておく (たとえば、<a href="http://miau.s9.xrea.com/blog/?itemid=1058">このあたり</a>を参考にさせていただきつつ)。<br />
※レジストリをいじり、再起動する必要がある</li>
<li><a href="http://code.google.com/p/go-windows/">こちら</a>から、go-1.zipをダウンロードし解凍先を決めて、解凍。</li>
<li>解凍先にコマンドラインのショートカットを作る。</li>
<li>「３」で作成したショートカットを右クリックし、起動時の文字コードをutf-8とする。具体的には、リンク先を「%SystemRoot%\system32\cmd.exe /f:on /k &#8220;chcp 65001&#8243;」と変更する(ついでに作業フォルダも決めておくと良い。)</li>
<li>お試しの人は、作業フォルダに以下の 内容のバッチファイル(例、g.bat)を作成し、保存する
<pre class="brush:c"> set GOROOT=C:\go-win
 set GOOS=mingw
 set GOARCH=386</pre>
<p>[追記] mingw(Windows版GNU C)のインストールはコメントに指摘してくださった方の言う通り不要。</li>
<li>以下の内容のファイル(例、hi.go)をutf-8で作成し、保存する
<pre class="brush:c">package main
import "fmt"
func main() {
  fmt.Printf("こんにちは、世界!!\n")
}</pre>
</li>
<li>コマンドラインに入り、PATHのgoのbinを追加(例、PATH=%PATH%;C:\go-win\bin)</li>
<li>５で設定したバッチファイル(例、g.bat)を実行</li>
<li>いよいよ、コンパイル&amp;リンク&amp;実行
<pre class="brush:c">C:\go-win\mysrc&gt;8g hi.go
C:\go-win\mysrc&gt;8l -o hi.exe hi.8
C:\go-win\mysrc&gt;hi.exe
こんにちは、世界!!</pre>
</li>
</ol>
<p>※　５と７は、環境変数に設定してしまう手もある。<br />
※　(<strong>レジストリとか分かっているひと向け</strong>) 例えば、コマンドラインで以下(実際は一行)をタイプ一発でMSゴシックがcmd.exeに追加されるはず。自分の好きなフォントを追加するもご自由に。その前に<strong>レジストリのバックアップはしておこうね</strong>。</p>
<pre class="brush:c"> reg add "HKLM\Software\Microsoft\Windows NT
\CurrentVersion\Console\TrueTypeFont" /v "0."
 /t "REG_SZ" /d "MS Gothic"</pre>
<hr />おおっ、なんとめんどくさい(躓く人が出てしまうことであろう・・・)。<br />
その通りなのである。<br />
とにかくvistaあたりまではwindowsはひたすら囲い込みをしていたから。。。cmd.exeがディフォルトでutf-8対応するのは、windows-8からなのではなかろうか!?<br />
ついでに上のfmt.Printfのところの文字列に、fmt.Printf(&#8220;<span style="color: #800000;">ただのWindowsには興味ありません。この中にWindow-8ユーザー、Window-9ユーザー、Window-10ユーザーがいたら私のところにきなさい。</span><span style="color: #800000;">\n</span>&#8220;)などと長い文字を指定してみると、ここまでやってきた方法が不完全であることがわかるだろう。。。</p>
<p>ともあれ、goのコンパイルはwindows版でも極めて高速なことだけは気持ちが良いので、興味ある方はがんばってトライしてみてください。<br />
ライブラリの互換性などの報告はそのうちに。いやはや、タイトルに「<strong><span style="color: #ff0000;">!!</span></strong>」をつけた割には、歯切れの悪いエントリー、失礼。</p>
]]></content:encoded>
			<wfw:commentRss>http://wordprogress.org/archives/731/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
