開発環境
- macOS Mojave - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Go (プログラミング言語)
プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES) (Alan A.A. Donovan(著)、Brian W. Kernighan(著)、柴田 芳樹(翻訳)、丸善出版)の第4章(コンポジット型)、4.2(スライス)、4.2.2(スライス内での技法)、練習問題4.3の解答を求めてみる。
コード
package main import "fmt" func main() { a := [10]int{5, 1, 4, 2, 3} fmt.Printf("a\n%T %[1]v\n\n", a) var aPtr *[10]int aPtr = reverse(&a) fmt.Printf("%T %[1]v\n", a) fmt.Printf("%T %[1]v\n", aPtr) fmt.Printf("%T %[1]v\n\n", *aPtr) b := [...]int{10, 1, 9, 2, 8, 3, 7, 4, 6, 5} fmt.Printf("b\n%T %[1]v\n\n", b) var bPtr *[10]int bPtr = reverse(&b) fmt.Printf("%T %[1]v\n", b) fmt.Printf("%T %[1]v\n", bPtr) fmt.Printf("%T %[1]v\n\n", *bPtr) } func reverse(a *[10]int) *[10]int { for i, j := 0, len(a)-1; i < j; i, j = i+1, j-1 { a[i], a[j] = a[j], a[i] } return a }
入出力結果(cmd(コマンドプロンプト)、Terminal)
C:\Users\...>go run sample3.go a [10]int [5 1 4 2 3 0 0 0 0 0] [10]int [0 0 0 0 0 3 2 4 1 5] *[10]int &[0 0 0 0 0 3 2 4 1 5] [10]int [0 0 0 0 0 3 2 4 1 5] b [10]int [10 1 9 2 8 3 7 4 6 5] [10]int [5 6 4 7 3 8 2 9 1 10] *[10]int &[5 6 4 7 3 8 2 9 1 10] [10]int [5 6 4 7 3 8 2 9 1 10] C:\Users\...>
0 コメント:
コメントを投稿