今回は文字列を処理して簡単な三角形を描写してみたいと思います。
概要
- 適当な文字列を準備し、それを1行ずつ長さを変更して表示させる。
プログラム
コード(1)
triangle_1.go
package main
import "fmt"
func main() {
//ベースとなる文字列
s := "**********"
for i := 1; i <= 10; i++ {
fmt.Printf("%s\n", s[0:i])
}
for j := 10; j >= 0; j-- {
fmt.Printf("%s\n", s[0:j])
}
}
コード(2)
triangle_2.go
package main
import "fmt"
func main() {
for i := 1; i <= 10; i++ {
for j := 0; j < i; j++ {
fmt.Printf("●")
}
fmt.Println()
}
for x := 0; x < 10; x++ {
for y := 0; y < 10-x; y++ {
fmt.Printf("●")
}
fmt.Println()
}
}
2パターンのコードを考えてみた。コード(1)の方がシンプルだから、こっちのほうがいいのかな・・・。
実行結果
$ go run triangle_1.go //triangle_2.goも同じ結果
*
**
***
****
*****
******
*******
********
*********
**********
**********
*********
********
*******
******
*****
****
***
**
*
所感
文字列処理って色んなところで使えそうな感じですね。でも、対象の文字列が1文字でもズレたら結果が異なるので、使い方は注意しないといけなそう。