Open idekazuki opened 5 years ago
var a [10]int
で宣言できる。アクセスはa[0]
.primes := [6]int{2, 3, 5, 6, 7. 9}
var s []int = primes[1:4] // primesの1から3の要素を含むスライス作成
この時sの要素を変更するとスライス元のprimesの要素も変更される。[]bool{true, false, true}
のように宣言した場合、内部処理的には[3]bool{true, false, true}
を作成してそれを参照するスライスを作成している。a := make([]int, 0, 5) // len(a)=2, cap(a)=5 , a= [0, 0]
board := [][]string{
[]string{"_", "_", "_"},
[]string{"_", "_", "_"},
[]string{"_", "_", "_"},
}
var s []int // s=[], len=0, cap=0
s = append(s, 1, 2, 3) // s=[1,2,3], len=3, cap=4
package main
import "fmt"
var pow = []int{1, 2, 4, 8, 16, 32, 64, 128}
func main() {
for i, v := range pow {
fmt.Printf("2**%d = %d\n", i, v)
}
}```
Pointers Cのようにポインタが使用可能 &オペレータ:&x のように記述することでそのオペランドのポインタを引き出す。 オペレータ:pのように記述すると、そのポインタの指す変数を示す。 ポインタ演算はない
Struct Structはフィールドの集まり。アクセスするときはドットを使う。type 構造体名 struct{ フィールド名 型}
structへのアクセスをpointerでできる。 例えばフィールドxをもつstructのポインタpがある時、(*p).x をp.xと書くことができる。
struct literals Name: 構文を使って、フィールドの一部だけ初期化できる。