カテゴリ: Go言語 更新日: 2025/10/15

Go言語の文字列連結の基本!+演算子とstrings.Joinを使いこなそう

Go言語の文字列連結の基本!+演算子とstrings.Joinを使いこなそう
Go言語の文字列連結の基本!+演算子とstrings.Joinを使いこなそう

先生と生徒の会話形式で理解しよう

生徒

「Go言語で文字列をつなげたいんですが、どうやったらできますか?」

先生

「Go言語では、文字列を連結する方法として + 演算子を使う方法と、strings.Join 関数を使う方法があります。」

生徒

「その二つはどう違うんですか?」

先生

「それでは、具体的に例を見ながら説明していきましょう。」

1. Go言語における文字列とは?

1. Go言語における文字列とは?
1. Go言語における文字列とは?

まず最初に、Go言語における文字列について理解しておきましょう。文字列とは、文字が連続して並んでいるデータのことです。たとえば「こんにちは」や「Hello World」のようなものです。Go言語では文字列を扱うときに、string型を使います。

文字列はテキストデータを扱うプログラムの基礎であり、メッセージ表示やファイル操作、API通信など様々な場面で使われます。そのため文字列を連結する方法を覚えることはとても重要です。

2. +演算子を使った文字列連結

2. +演算子を使った文字列連結
2. +演算子を使った文字列連結

Go言語で最も基本的な文字列連結の方法は、+演算子を使うやり方です。これは直感的でわかりやすく、小さなプログラムや少数の文字列をつなげるときに便利です。


package main

import "fmt"

func main() {
    greeting := "Hello"
    target := "World"
    message := greeting + ", " + target + "!"
    fmt.Println(message)
}

Hello, World!

この例では「Hello」と「World」を + で連結して、「Hello, World!」という文字列を作っています。文字列を一つずつ足し合わせるイメージなので、初心者にも理解しやすい方法です。

3. strings.Joinを使った文字列連結

3. strings.Joinを使った文字列連結
3. strings.Joinを使った文字列連結

複数の文字列をまとめて連結したい場合、strings.Join関数を使うのが便利です。これは標準ライブラリのstringsパッケージに含まれている関数で、スライス(配列のようなデータ構造)に入った文字列を一度に連結できます。


package main

import (
    "fmt"
    "strings"
)

func main() {
    words := []string{"Go", "is", "fun"}
    sentence := strings.Join(words, " ")
    fmt.Println(sentence)
}

Go is fun

ここでは、スライスwordsに入っている「Go」「is」「fun」を、空白で区切って連結しています。結果は「Go is fun」となります。区切り文字(この場合はスペース)を自由に指定できるため、カンマや改行を入れたいときにも使えます。

4. +演算子とstrings.Joinの使い分け

4. +演算子とstrings.Joinの使い分け
4. +演算子とstrings.Joinの使い分け

ここで、どちらを使うべきか疑問に思うかもしれません。目安としては以下のように考えると良いでしょう。

  • +演算子: 少数の文字列をつなげるときや、簡単な結合で済む場合。
  • strings.Join: 複数の文字列をまとめて連結したいときや、区切り文字を入れて整形したい場合。

たとえば、ログメッセージを作るときに短い文字列を少しだけ足すなら+演算子で十分です。しかし、大量の単語を一度に文にしたい場合はstrings.Joinの方が効率的で読みやすくなります。

5. 実用的な活用例

5. 実用的な活用例
5. 実用的な活用例

実際のプログラムでは、ユーザーの名前を表示したり、リストから文章を作ったりするときに文字列連結をよく使います。例えば、ユーザー名を結合してメッセージを作るプログラムは次のようになります。


package main

import (
    "fmt"
    "strings"
)

func main() {
    firstName := "Taro"
    lastName := "Yamada"
    fullName := firstName + " " + lastName
    fmt.Println("Hello, " + fullName)

    items := []string{"Apple", "Banana", "Cherry"}
    list := strings.Join(items, ", ")
    fmt.Println("Fruits: " + list)
}

Hello, Taro Yamada
Fruits: Apple, Banana, Cherry

この例では、+で名前を結合して挨拶文を作り、strings.Joinで果物のリストをまとめています。現実のアプリケーションでもこのような使い方をする場面は多くあります。

関連記事:
カテゴリの一覧へ
新着記事
Go言語の関数でエラーハンドリングする基本的な方法
Go言語のスライス・マップ・配列をまとめて比較してみよう!初心者でもわかる使い分けの基本
Go言語の条件分岐の見やすい書き方を徹底解説!初心者でもわかるif文の使い方
Go言語とは何か?初心者向けに特徴・できること・インストール手順までやさしく解説
人気記事
No.1
Java&Spring記事人気No1
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.2
Java&Spring記事人気No2
Go言語で条件式を1行で書くコツ!三項演算子の代替と短縮記法
No.3
Java&Spring記事人気No3
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.4
Java&Spring記事人気No4
Kotlinのデータクラス(data class)とは?便利な特徴と使い方を初心者向けにやさしく解説!