はじめに
Goで入力した文字列の最後の文字を表示する方法を実装したら、他の言語と特徴が違うので記事にしたいと思います。
問題
あなたはしりとりのプログラムを作成しています。
手始めに文字列の最後の 1 文字を出力するプログラムを作成することにしました。
文字列 S が与えられるので最後の 1 文字を出力してください。
という問題です
文字列を配列にし、配列の最後の文字を表示する方法で実装した場合
実装したソースコードは以下の通りです。
package main
import "fmt"
import "os"
import "bufio"
import "strings"
func main(){
sc := bufio.NewScanner(os.Stdin)
sc.Scan()
name := sc.Text()
array1 := strings.Split(name,"")
n := len(array1)
fmt.Println(array1[n-1])
}
配列を使わずに実装した場合
実装したソースコードは下記の通りです。
package main
import "fmt"
import "os"
import "bufio"
func main(){
sc := bufio.NewScanner(os.Stdin)
sc.Scan()
name := sc.Text()
s := string(name[len(name) - 1])
fmt.Println(s)
}
ポイント
文字列の長さを取得し、文字列の「文字列の長さ-1番目」の要素を取得しようとすると、バイトコードが表示されるので、文字列の最後の文字をstring型に変換します。
最後に
気付いた点をブログ記事にしました。