回答編集履歴

4

さらに追記

2022/07/11 00:53

投稿

nobonobo
nobonobo

スコア3367

test CHANGED
@@ -54,3 +54,19 @@
54
54
  ```
55
55
  &{[0 ... 0] 272 (0,0)-(68,56)}
56
56
  ```
57
+
58
+ # さらに追記
59
+
60
+ docker環境をお持ちであれば、上記のサンプルコードを「sample.go」という名前で空のフォルダに作成、そのフォルダにて以下のコマンドでビルドしてみましょう。
61
+ これでコンパイルエラーが出ない場合、お使いの環境が壊れている可能性が高いです。
62
+
63
+ コマンドプロンプト for Windows
64
+ ```
65
+ docker run --rm -v %cd%:/app -w /app golang go build sample.go
66
+ ```
67
+
68
+ ターミナル for macOS
69
+ ```
70
+ docker run --rm -v $PWD:/app -w /app golang go build sample.go
71
+ ```
72
+

3

コード例

2022/07/09 22:20

投稿

nobonobo
nobonobo

スコア3367

test CHANGED
@@ -11,5 +11,46 @@
11
11
  以下のように修正すると、
12
12
  img, _ := ioutil.ReadAll(j.Body)
13
13
 
14
+ https://go.dev/play/p/d8wqKkF3ZZY
15
+ ```go
16
+ package main
17
+
18
+ import (
19
+ "fmt"
20
+ "image/png"
21
+ "io/ioutil"
22
+ "net/http"
23
+ "os"
24
+ )
25
+
26
+ func main() {
27
+ j, err := http.Get("https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-viii/icons/1.png")
28
+ if err != nil {
29
+ panic(err)
30
+ }
31
+ img, _ := ioutil.ReadAll(j.Body)
32
+ file, err := os.Create("sample.png")
33
+ if err != nil {
34
+ panic(err)
35
+ }
36
+ defer file.Close()
37
+ file.Write(img)
38
+
39
+ raw, err := os.Open("./sample.png")
40
+ if err != nil {
41
+ panic(err)
42
+ }
43
+ defer raw.Close()
44
+
45
+ wantReturn, err := png.Decode(raw)
46
+ if err != nil {
47
+ panic(err)
48
+ }
49
+ fmt.Println(wantReturn)
50
+ }
51
+ ```
52
+ 以上のコードだけを実行してみたところ(ローカルに保存してください)
14
- 以下のように表示でました。
53
+ 以下の表示でました。
54
+ ```
15
55
  &{[0 ... 0] 272 (0,0)-(68,56)}
56
+ ```

2

追記

2022/07/09 17:21

投稿

nobonobo
nobonobo

スコア3367

test CHANGED
@@ -2,3 +2,14 @@
2
2
  例示のエラーが再現されません。
3
3
 
4
4
  また、保存されるsample.pngが開いてみれることを確認しましょう。
5
+
6
+ 追記:
7
+
8
+ 以下を
9
+ img, _ = ioutil.ReadAll(j.Body) 
10
+
11
+ 以下のように修正すると、
12
+ img, _ := ioutil.ReadAll(j.Body)
13
+
14
+ 以下のように表示できました。
15
+ &{[0 ... 0] 272 (0,0)-(68,56)}

1

補足

2022/07/09 11:36

投稿

nobonobo
nobonobo

スコア3367

test CHANGED
@@ -1 +1,4 @@
1
+ imgへの代入のところでコンパイルエラーになるので示されたコードは試すことが出来ないです。
2
+ 例示のエラーが再現されません。
3
+
1
- 保存されるsample.pngが開いてみれることを確認しましょう。
4
+ また、保存されるsample.pngが開いてみれることを確認しましょう。