前提・実現したいこと
C++ でいう to_lower() などの関数を golang で自作したいのですが、string 型から int 型へ型変換できなのでしょうか?
golang では別の作法でしょうか? なお、組み込み関数で大文字に変換することは NG とさせていただきます。
c++ でいう以下がしたいです。
C++
1#include <string> 2 3using namespace std; 4 5int main (){ 6 string s("HELLO_WORLD"); 7 8 for (char c: s) 9 printf("%c", ('A'<=c && c<='Z') ? c+32 : c); 10 printf("\n"); 11 12 return 0; 13}
発生している問題・エラーメッセージ
yosuke@x250:~/Data/training/go/teratail$ go version go version go1.10.3 gccgo (Debian 8.3.0-6) 8.3.0 linux/amd64 yosuke@x250:~/Data/training/go/teratail$ go build main.go # command-line-arguments ./main.go:21:14: error: incompatible type in initialization (cannot use type string as type int) var w int = ss[i] ^
該当のソースコード
Golang
1package main 2 3import "fmt" 4import "strings" 5 6func my_to_lower(c int) int { 7 return c + 32; 8} 9 10func main(){ 11 var s string 12 s = "HELLO_WORLD" 13 ss := strings.Split(s,"") 14 15 var c int; 16 c = 'B'; 17 fmt.Printf("%c\n", my_to_lower(c)); // これは成功 18 19 for i:=0; i<len(ss); i++ { 20 var w int = ss[i] 21 fmt.Printf("%d\n", w+32); 22 } 23}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/07 03:40