LoginSignup
0
0

More than 3 years have passed since last update.

文字列型

Last updated at Posted at 2019-06-03

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=/)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0