質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Q&A

解決済

2回答

406閲覧

変数[:]という表記はどういう意味ですか?

退会済みユーザー

退会済みユーザー

総合スコア0

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

0グッド

0クリップ

投稿2017/11/14 10:36

編集2017/11/14 12:48

質問

今困ってたり悩んでいるわけではないのですが
たまにgolangで
変数[:]
という形を見ます

何がしたいんでしょうか。
変数[1:3]
ならスライスの1~3までのみ部分的に抜き出すというのはわかるのですが
[:]
これをつける意味がわかりません

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

全要素をスライスとして取り出す処理になります。

詳細は以下のスライドがわかりやすいと思います
https://www.slideshare.net/mobile/yasi_life/go-14075425

投稿2017/11/14 12:13

m0a

総合スコア708

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/11/14 12:34

定時していただいたスライドのP38に、「配列からスライスを作る」とありましたが、恐らくそれだったのかなと思います。 x := [3]string{"1111", "2222", "3333"} s := x[:] //スライスsはxの記憶領域を参照 と書いてあります。 配列をスライス化する書き方のようです
mattn

2017/11/20 04:40

補足ですが x := []string{"1", "2", "3"} だと slice x := [3]string{"1", "2", "3"} だと array になりますが、... を使うとサイズを明記せずに array が作れるので便利です。 x := [...]string{"1", "2", "3"} ※これは [3]string になります。
退会済みユーザー

退会済みユーザー

2017/11/20 07:43

>>mattnさん わざわざありがとうございます。 スライスの感覚で配列が作れてヘルシーですね >>m0aさん https://qiita.com/seihmd/items/d9bc98a4f4f606ecaef7 この記事を見て、配列とスライスの違いを明確に確認することが出来ました。また、それと共に自分の質問に対する解も得られました。
guest

0

調べ方がわからないということだろうと思います。

「golang 仕様 コロン」などで検索すると

http://cuto.unirita.co.jp/gostudy/post/go_slice/

といった解説ページがトップにでてきます。本来言語仕様は参考書あるいは一次情報源(要するに本家のもの)を参照するのが一番よいと思いますが、今困っていないならこうした「日本語かつ短い解説ページ」が入口として分かり易い気がします。

より詳しく知りたい場合は「golang 言語仕様」で検索したり「wikipediaのgolangの項目」などで見つかる

http://golang.jp/go_spec
http://golang-jp.org/
https://golang.org/

といったサイトを参照したり、一番最初のリンクから得た「スライス」という機能名を用いて「golang スライス」で検索するなどすれば様々なページで知識が得られると思います。


仕様についてご自分で調べていないように見えたので調べ方の一例をコメントしてみました。自分は調べ方については見当がつきますが、golangを知ったばかりの初心者なので仕様についての言及は遠慮させていただきます。

投稿2017/11/14 11:54

KSwordOfHaste

総合スコア18392

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/11/14 12:29

いえ、 var str = "DDxlk" str[1:] //Dxlk みたいな使い方ならわかるんですが 何かの関数の引数として str[:] これを渡しているものがありまして [:]だと何もしてないのと一緒じゃないのかなぁと思ってるわけです
KSwordOfHaste

2017/11/14 12:44

最初から質問に書いておくべきと思います。質問をみると「何もわかっていない」かのようにも見えますので。自分の力量を知らないネットの向こう側の不特定多数の閲覧者に自分の疑問・課題・問題などの状況を正確に伝えるにはどう書くべきかを考えてみるとよいかと思います。なかなか正確に伝わらないものです。
退会済みユーザー

退会済みユーザー

2017/11/14 12:47

確かにおっしゃる通りですね 追記しておくとともに、次回から気をつけます
KSwordOfHaste

2017/11/14 12:50 編集

言い忘れましたが、「みたいな使い方ならわかるんですが...」という状況だとしても回答に書いた仕様の解説を調べれば往々にして見つかると思います。見つけられないならなおのこと「ここまで分かっていて」「ここがわからない」という点を具体的に述べることがQ&Aのコツとして重要と思いますよ。 --- おっとこれは蛇足でしたね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問