NO PAIN NO GAINの出力
func main() {
fmt.Println("NO PAIN NO GAIN")
fmt.Println("NO PAIN " + "NO GAIN")
}
0番目の文字列を取得するには
func main() {
fmt.Println("NO PAIN NO GAIN"[0])
//アスキーコードが出て0番目の文字は取得できないので、stringでキャストしてやる
fmt.Println(string("NO PAIN NO GAIN"[15]))
//ちなみに[2]だと空文字が出力される。[15]だとエラー:invalid string index 15 (out of bounds for 15-byte string)
}
文字の置き換え(NOをNOPEにする)
func main() {
var s string = "NO PAIN NO GAIN"
//s[1] = "OPE" とやるとエラー
fmt.Println(strings.Replace(s, "O", "OPE", 1))
fmt.Println(s)
//strings.Replaceではvar sをコピーしてそれを置き換えて出力してるだけなので、Println(s)すると何もかわってない。
//(パッケージ名がstringsなのでstringと間違わないように)
//元のvar sを書き換えるには下記のように
s = strings.Replace(s, "O", "OPE", 2)
fmt.Println(s)
}
該当する文字列があるか調べる
var s string = "NO PAIN NO GAIN"
func main(){
fmt.Println(strings.Contains(s, "NO"))
//Containsは該当の文字列が含まれてるか調べてtrueかfalseを返す
}
リテラル
func main(){
//実際に記述したように文字列を表示させたいときの書き方。バッククオートで囲う。
fmt.Println(`hoge
hoge
hoge
hoge`)
//特殊文字を文字列として表示させたいとき。直前にバックスラッシュ置くか、バッククオートで囲う。
fmt.Println("\"")
fmt.Println(`"`)
}
【参考】
現役シリコンバレーエンジニアが教えるGo入門(https://www.udemy.com/share/100BhMB0obeFpbTX4=/)