Web site created using create-react-app
The Go Blogの日本語訳を公開しています。修正は https://github.com/ymotongpoo/goblog-ja/ まで。 配列、スライス(と文字列):'append'の動作原理 (Arrays, slices (and strings): The mechanics of 'append') 配列、スライス(と文字列):’append’の動作原理 Arrays, slices (and strings): The mechanics of ‘append’ By Rob Pike はじめに 手続き型プログラミング言語において共通した機能のひとつに配列という概念があります。配列は単純に見えて、言語に追加する際には 答えなければならない多くの設問にこたえなければいけません。たとえば次のようなものです。 固定長なのか、可変長なのか 長さは型に含めるのか 多次元配列はどの
intro 先日 GoのSliceもヤバイ - Qiita こんな記事をみて、別の挙動だけどスライスの内部を理解しきれていなかった頃のことを思い出した。 結構前に謎に思っていた挙動についての話。 以前この挙動を解説しようと思って、前提として書いたスライスの内部構造の記事が、 Go のスライスの内部実装 だったのですが、そっちを書き終わって満足してしまい、本題を忘れていました。 この挙動は、先のブログで説明した内容がわかっていないと、なかなか理解できないかも。わかってしまえば簡単ですが。 やりたいのは、関数側でスライスを操作したときの呼び出し側での結果。 順を追ってみてみます。 配列を関数内で変更する 関数は値渡しで、配列はそれ自体が値なので、まるっとコピーされます。 以下の例は、戻り値で返さないと、呼出側は変化しません。 package main import ( "log" ) func
Introduction Go’s slice type provides a convenient and efficient means of working with sequences of typed data. Slices are analogous to arrays in other languages, but have some unusual properties. This article will look at what slices are and how they are used. Arrays The slice type is an abstraction built on top of Go’s array type, and so to understand slices we must first understand arrays. An a
Go言語のArrayとSliceについて 調べるたびに忘れるのでメモしておきます。 基本的にGo Slices: usage and internals に基いています。 というかほとんど直訳です。 Introduction Sliceは他の言語のArrayに似ているが、違う部分がある。 Arrays Slice型はGo言語におけるArray型の抽象的なものである。 Array型は長さ(length)と要素(element)の型を明らかにしたものである。 下の例で、[4]intは4つのint型からなるArray型である。 長さは型の一部分である([4]int != [5]int)。 var a [4]int a[0] = 1 i := a[0] // i == 1 Go言語では、Array型はzero valueで初期化されていて、すぐに使える。 a[2] == 0 Go言語のArrayは
あなたのスマホの次なるスーパーパワー:「圏外」の終わり、Starlink Direct-to-Cellがもたらす未来
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く