golang遊び、参考まとめ(作成中)

バカで素人なんで、A Tour of Go 読んでもわかんない。

ググって色々なサイトを参考にさせて頂いております。

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

1_まずは、下記の記事。

 各ページごとにファイルを作りながら、やることとか参考になります(ました。

 エクササイズ事例も参考になりますすす。(超絶参考にしました。

qiita.com

 

てか、イチイチなんか分からな(ry

 hypot = hypotenuse = 直角二等辺三角形の斜辺

 

2_フィボナッチ数列(どんなだったか(棒

エクササイズ44で出てますが、(バカなんで!

中学生にプログラミングを教えた方がよいな(ななな。

 

フィボナッチ数 - Wikipedia

n 番目のフィボナッチ数を Fn で表すと

F_0 = 0\,

F_1 = 1 \,

F_{n+2} = F_n + F_{n+1} \quad (n \ge 0)

で定義される。これは、2つの初期条件を持つ漸化式である。

この数列フィボナッチ数列(フィボナッチすうれつ、Fibonacci sequence)と呼ばれ、

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946,

引用おわり)

ハイ、前の2項を足している数っていうだけ、です(す。

 

fib.go - go-tour - A Tour of the Go Programming Language - Google Project Hosting

とは言うものの、初期条件にこだわって、if文を1番目と2番目を返そうとしていましたが、

エクササイズなので(なので(でした。。。

参考サイトとか情報がたくさんあるのは有難いですん(すん。

 

3_立方根とかあんま考えたことない。。。

複素数も中学でやったのかなあ(忘れた(ハイ馬鹿なので。

 

wikipedia 読んだり。

立方根 - Wikipedia

 

StackOverflow さん(いつもありがとう。。。

stackoverflow.com

 

ググったりして。

bcでべき乗 - わさっき

困ったときの加減乗除は,ターミナルを開いてbc.

なのですが,3乗して0.6になる数,つまり「0.6の立方根」でも「0.6の1/3乗」でも,Cの数学関数を使って「pow(0.6,1.0/3.0)」でもいいので,そういう値を求めることはできましたっけ?

引用ここまで)

 

Cは、ドットインストールをやったくらい程度なので、上記のCの関数みたいな感じだと分かって、

よかったです(なんか。

 

4__interfaces型わかんない。。。

ググリマシタ。

M.Hiroi's Home Page / お気楽 Go 言語プログラミング入門

●インターフェース

今回は「インターフェース (interface) 」について説明します。Go 言語のインターフェースは Java のインターフェースと同じように、メソッドの型だけを列挙した型です。Go 言語の場合、あるインターフェース Foo で宣言されているメソッドがすべて実装されている構造体であれば何でも型 Foo として扱うことができます。インターフェースを使うと、Java と同じように「ポリモーフィズム」を実現することができます

 引用ここまで

。。。端的に言ってくれてて、そうか(と言う感じ(Javaはわかんないけど。

メソッドの束。そのメソッドを持った構造体なら、そのメソッドを使える

 

5__fmtのこととか

Cは少ししか(ryってことで、fmtの書式とかもアレです(アレアレ

fmt パッケージ - golang.jp

エクササイズ56で、なんなんだろうとか(やってて。

全然ちゃうし、ただ書式が違ってたんだし。

 

なぞなぞ(?)部分

「注意: Error メソッド中で、 fmt.Print(e) を呼び出すことは、無限ループにプログラムが陥ることでしょう。

最初に、 fmt.Print(float64(e)) として e を変換することより、これを避けることができます。 なぜでしょうか?」

Errorメソッドの中で、Errorを呼ぶと、自分が呼ばれるから。(かな

前頁の

「fmt パッケージのさまざまな表示ルーチンは、 error の表示を求められたときにErrorメソッドを呼び出しを自動的に実行します。」

 

Punct = punctuation = 句読点

 

6__エクササイズ58

http.ListenAndServe("localhost:4000", nil)
のところ、うーん?

1さん引用

ListenAndServe("localhost:4000", foo)fooServeHTTP() を備えていればそれを処理するし、
下記のように foo の部分に nil を指定していれば、 http.Handle の第 2 引数に備わった ServeHTTP() が処理される

  • http.Handle() の第 1 引数には処理が実行される URL パスを設定する

引用おわり)

ふむふむ(ありがとうございます(ふmふm

 

7__image 59 & Rot13 Reader

rect = rectanglar = 長方形?直交座標?

うーん(だkら(しゃっきょう写経

うーん(ツギツギ

 

8__Channels

基本

ch <- v    // v をチャネル ch へ送る。
v := <-ch  // ch から受信し、変数を v へ割り当てる。

 

9__Binary trees

うーんw

しゃ、写経だからねっ(棒

 

10__Web Crawler

うーんw

しゃ、写(ry

 

さーてさーて(((

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

go-tourのsolutionsというわけでエクササイズの解答例Link:

/solutions/ - go-tour - A Tour of the Go Programming Language - Google Project Hosting

go-tourの解答(トントンな(なな