summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Gerrand <adg@golang.org>2011-06-29 14:58:01 +1000
committerAndrew Gerrand <adg@golang.org>2011-06-29 14:58:01 +1000
commit87ed339c0b7309744c769eb0f31cefc1b7013ef2 (patch)
treee8d9824ece9bf6116788d8ec008ffb28cf968d12
parentb97be3c485e487519d9ed178f6aff1414232b4da (diff)
downloadgo-87ed339c0b7309744c769eb0f31cefc1b7013ef2.tar.gz
[release-branch.r58] doc/faq: add question about converting from []T to []interface{}
??? CL 4639046 / 995095e59d58 doc/faq: add question about converting from []T to []interface{} R=golang-dev, r CC=golang-dev http://codereview.appspot.com/4639046 ??? R=r CC=golang-dev http://codereview.appspot.com/4630077
-rw-r--r--doc/go_faq.html18
1 files changed, 18 insertions, 0 deletions
diff --git a/doc/go_faq.html b/doc/go_faq.html
index 953092f05..ef70033ac 100644
--- a/doc/go_faq.html
+++ b/doc/go_faq.html
@@ -598,6 +598,24 @@ the interface idea. Sometimes, though, they're necessary to resolve ambiguities
among similar interfaces.
</p>
+<h3 id="convert_slice_of_interface">
+Can I convert a []T to an []interface{}?</h3>
+
+<p>
+Not directly because they do not have the same representation in memory.
+It is necessary to copy the elements individually to the destination
+slice. This example converts a slice of <code>int</code> to a slice of
+<code>interface{}</code>:
+</p>
+
+<pre>
+t := []int{1, 2, 3, 4}
+s := make([]interface{}, len(t))
+for i, v := range t {
+ s[i] = v
+}
+</pre>
+
<h2 id="values">Values</h2>
<h3 id="conversions">