無限大な夢のあと

テニスとアニメが大好きな厨二病SEのブログ

「プログラマ脳を鍛える数学パズル」でGolang入門 1問目(10進数で回文) 解答編

普段はJavaプログラマな私が「プログラマ脳を鍛える数学パズル」の問題を解いていく中で、Golangに入門していく記事となります。

コードを解くに当たって、参考にしたページなども合わせて記載してみる。
では早速、1問目。

といきたいところですが、問題文の提示等が著作権的に問題がありそうなので、思考過程(文法の調査)と答えのみ載せます。
どのような問題かは書籍を購入してご確認ください。


1.まずは基本的な文法から勉強。
問題を解くに当たっては、Goの文法が全くわからないということで、入門記事を漁ることに。
「A Tour of Go」が良いと以下の記事に書いてあったので、そこから始めてみた。
qiita.com

以下の2つの章を写経し、今回やりたい処理は事足りるかなと思い、問題に取り掛かることに。
A Tour of Go

・Packages, variables, and functions.

・Flow control statements: for, if, else, switch and defer
A Tour of Go



2.数字から文字列の変換方法を調べる。
以下の記事を読み、「strconv.Itoa」メソッドだといけそうだなと判断。
matope.hatenablog.com



3.10進数から2進数、8進数への変換方法を調べる。
以下の記事を読み、「fmt.Sprintf」で変換はできそうだと判断。
逆引きGolang (数値)


4.文字列を逆にする方法を調べる。
以下の記事を読み、この方法でいけばできそうだなと考える。
Go言語で文字列を逆順に並び替える - 雑記
runeの配列生成時のコンストラクタに文字列を入れると、文字がそれぞれ分解して配列になる?
一旦実装しきってから確認しよう。
→lenメソッドはbyte数を返す。
→よって、byte毎に配列に格納されているよう。


5.実装。
実装完了。
もう少し慣れてきたら、APIリファレンスだけを読みながら実装できるようにしよう。


6-0.実装後の疑問点潰し(深堀り)
Golangの文法の深掘りについては、別記事を書く予定。


おまけ

JavaScript

Ruby




2問目も頑張ります。

改訂2版 基礎からわかる Go言語

改訂2版 基礎からわかる Go言語

Go言語によるWebアプリケーション開発

Go言語によるWebアプリケーション開発

スターティングGo言語 (CodeZine BOOKS)

スターティングGo言語 (CodeZine BOOKS)