{"id":7144,"date":"2025-09-27T05:29:07","date_gmt":"2025-09-27T05:29:07","guid":{"rendered":"https:\/\/pokecon.jp\/job\/?p=7144"},"modified":"2025-09-27T05:29:07","modified_gmt":"2025-09-27T05:29:07","slug":"go%e3%81%aewasi-0-1%e3%82%92wasi-0-2%e3%81%ab%e5%a4%89%e6%8f%9b%e3%81%97%e3%81%a6%e5%ae%9f%e8%a1%8c%e3%81%99%e3%82%8b","status":"publish","type":"post","link":"https:\/\/pokecon.jp\/job\/7144\/","title":{"rendered":"Go\u306eWASI 0.1\u3092WASI 0.2\u306b\u5909\u63db\u3057\u3066\u5b9f\u884c\u3059\u308b"},"content":{"rendered":"\n<\/p>\n<div>\n<p data-line=\"0\" class=\"code-line\">Go\u306fWASI 0.1\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u304c\uff0c\u73fe\u6642\u70b9\u306eWASI\u306e\u6700\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u306f0.2.x\u3067\uff0cGo\u306f\u307e\u30600.2\u4ee5\u964d\u306eWASI\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093\uff0e<\/p>\n<p data-line=\"5\" class=\"code-line\">Go\u3067WASI 0.2\u3092\u5229\u7528\u3057\u305f\u3044\u5834\u5408\uff0c2025\u5e74\u6642\u70b9\u3067\u306fTinyGo\u3092\u4f7f\u3044\u307e\u3057\u3087\u3046\u3068\u8a00\u3046\u8a71\u306b\u306a\u308b\u306e\u3067\u3059\u304c\uff0c\u3053\u306e\u8a18\u4e8b\u3067\u306fTinyGo\u3092\u4f7f\u308f\u305a\u306bWASI 0.2\u3092\u5229\u7528\u3059\u308b\u65b9\u6cd5\u3092\u63a2\u3057\u3066\u307f\u305f\u3044\u3068\u601d\u3044\u307e\u3059\uff0e<\/p>\n<h2 id=\"%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF%E3%82%92%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B\" data-line=\"7\" class=\"code-line\">\n \u30a2\u30c0\u30d7\u30bf\u3092\u5229\u7528\u3059\u308b<\/h2>\n<p data-line=\"9\" class=\"code-line\">Rust\u3082TinyGo\u3082\u4eca\u3067\u306fWASI 0.2\u306b\u76f4\u63a5\u30d3\u30eb\u30c9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u304c\uff0c\u304b\u3064\u3066WASI 0.1\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u30e9\u30c3\u30d7\u3057\u3066WASI 0.2\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u30a2\u30c0\u30d7\u30bf\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u5229\u7528\u3057\u3066WASI 0.2\u3092\u4f5c\u6210\u3059\u308b\u65b9\u6cd5\u3092\u53d6\u3063\u3066\u3044\u305f\u6642\u671f\u304c\u3042\u308a\u307e\u3057\u305f\uff0e<\/p>\n<p data-line=\"11\" class=\"code-line\"><span class=\"embed-block zenn-embedded zenn-embedded-card\"><iframe id=\"zenn-embedded__6a76cb4ce0a2\" src=\"https:\/\/embed.zenn.studio\/card#zenn-embedded__6a76cb4ce0a2\" data-content=\"https%3A%2F%2Fgithub.com%2Fbytecodealliance%2Fwasmtime%2Ftree%2Fmain%2Fcrates%2Fwasi-preview1-component-adapter\" frameborder=\"0\" scrolling=\"no\" loading=\"lazy\"><\/iframe><\/span><a target=\"_blank\" href=\"https:\/\/github.com\/bytecodealliance\/wasmtime\/tree\/main\/crates\/wasi-preview1-component-adapter\" style=\"display:none\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/bytecodealliance\/wasmtime\/tree\/main\/crates\/wasi-preview1-component-adapter<\/a><\/p>\n<p data-line=\"13\" class=\"code-line\">\u4f8b\u3048\u3070\uff0c\u6b21\u306e\u3088\u3046\u306a\u30b3\u30fc\u30c9\u3092<code>tinygo<\/code>\u3092\u5229\u7528\u3057\u3066WASI 0.1\u306eWasm\u30e2\u30b8\u30e5\u30fc\u30eb\u306b\u5909\u63db\u3057\u307e\u3059\uff0e<\/p>\n<div class=\"code-block-container\">\n<pre class=\"language-go\"><code class=\"language-go code-line\" data-line=\"15\">\n<span class=\"token keyword\">package<\/span> main\n\n<span class=\"token keyword\">import<\/span> <span class=\"token punctuation\">(<\/span>\n    <span class=\"token string\">\"fmt\"<\/span>\n<span class=\"token punctuation\">)<\/span>\n\n<span class=\"token keyword\">func<\/span> <span class=\"token function\">main<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n    fmt<span class=\"token punctuation\">.<\/span><span class=\"token function\">Println<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"Hello, \u4e16\u754c!\"<\/span><span class=\"token punctuation\">)<\/span>\n<span class=\"token punctuation\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<div class=\"code-block-container\">\n<pre class=\"language-shell\"><code class=\"language-shell code-line\" data-line=\"28\">\n<span class=\"token assign-left variable\">GOOS<\/span><span class=\"token operator\">=<\/span>wasip1 <span class=\"token assign-left variable\">GOARCH<\/span><span class=\"token operator\">=<\/span>wasm tinygo build <span class=\"token parameter variable\">-o<\/span> hello.wasm hello.go\n<\/code><\/pre>\n<\/div>\n<p data-line=\"33\" class=\"code-line\">\u6b21\u306b\u30a2\u30c0\u30d7\u30bf\u3068\u306a\u308bWasm\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\uff0c<code>wasm-tools<\/code>\u3092\u5229\u7528\u3057\u3066Wasm\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\uff0e<\/p>\n<div class=\"code-block-container\">\n<pre class=\"language-shell\"><code class=\"language-shell code-line\" data-line=\"35\">\n<span class=\"token function\">wget<\/span> https:\/\/github.com\/bytecodealliance\/wasmtime\/releases\/download\/v36.0.2\/wasi_snapshot_preview1.command.wasm\n<\/code><\/pre>\n<\/div>\n<div class=\"code-block-container\">\n<pre class=\"language-shell\"><code class=\"language-shell code-line\" data-line=\"40\">\nwasm-tools component new <span class=\"token parameter variable\">-o<\/span> component.wasm <span class=\"token parameter variable\">--adapt<\/span> wasi_snapshot_preview1.command.wasm hello.wasm\n<\/code><\/pre>\n<\/div>\n<p data-line=\"45\" class=\"code-line\">WASI 0.1\u306e\u307e\u307e\u3067\u3082\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067\u304d\u307e\u3059\u304c\uff0c\u3053\u306e\u3088\u3046\u306bWASI 0.2\u306b\u5909\u63db\u3057\u305fWasm\u3082\u5b9f\u884c\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff0e<\/p>\n<div class=\"code-block-container\">\n<pre class=\"language-shell\"><code class=\"language-shell code-line\" data-line=\"47\">\nwasmtime run .\/component.wasm\n<\/code><\/pre>\n<\/div>\n<p data-line=\"56\" class=\"code-line\">WASI 0.2\u306b\u6e96\u62e0\u3057\u3066\u3044\u308bWasm\u306a\u306e\u304b\u3092\u78ba\u8a8d\u3057\u305f\u3044\u5834\u5408\uff0c<code>wasm-tools<\/code>\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u3063\u3066\u78ba\u304b\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff0e<\/p>\n<div class=\"code-block-container\">\n<pre class=\"language-shell\"><code class=\"language-shell code-line\" data-line=\"58\">wasm-tools component wit component.wasm <span class=\"token operator\">|<\/span> <span class=\"token function\">head<\/span> <span class=\"token parameter variable\">-n<\/span> <span class=\"token number\">24<\/span>\n<\/code><\/pre>\n<\/div>\n<div class=\"code-block-container\">\n<pre><code class=\"code-line\" data-line=\"62\">package root:component;\n\nworld root {\n  import wasi:cli\/environment@0.2.6;\n  import wasi:cli\/exit@0.2.6;\n  import wasi:io\/error@0.2.6;\n  import wasi:io\/poll@0.2.6;\n  import wasi:io\/streams@0.2.6;\n  import wasi:cli\/stdin@0.2.6;\n  import wasi:cli\/stdout@0.2.6;\n  import wasi:cli\/stderr@0.2.6;\n  import wasi:cli\/terminal-input@0.2.6;\n  import wasi:cli\/terminal-output@0.2.6;\n  import wasi:cli\/terminal-stdin@0.2.6;\n  import wasi:cli\/terminal-stdout@0.2.6;\n  import wasi:cli\/terminal-stderr@0.2.6;\n  import wasi:clocks\/monotonic-clock@0.2.6;\n  import wasi:clocks\/wall-clock@0.2.6;\n  import wasi:filesystem\/types@0.2.6;\n  import wasi:filesystem\/preopens@0.2.6;\n  import wasi:random\/random@0.2.6;\n\n  export wasi:cli\/run@0.2.6;\n}\n<\/code><\/pre>\n<\/div>\n<p data-line=\"89\" class=\"code-line\">\u3053\u306e\u3088\u3046\u306b<code>export wasi:cli\/run@0.2.x<\/code>\u3068\u306a\u3063\u3066\u3044\u308c\u3070WASI 0.2.x\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u3059\uff0e<\/p>\n<p data-line=\"93\" class=\"code-line\">TinyGo\u304b\u3089\u30d3\u30eb\u30c9\u3059\u308b\u3068\u3053\u306e\u3088\u3046\u306b\u5b9f\u884c\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u304c\uff0c\u4e00\u65b9\u3067Go\u304b\u3089\u30d3\u30eb\u30c9\u3057\u305fWasm\u3092\u30e9\u30c3\u30d7\u3057\u3066\u5b9f\u884c\u3059\u308b\u3068\u6b21\u306e\u3088\u3046\u306a\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u3066\u3057\u307e\u3044\u307e\u3059\uff0e<\/p>\n<div class=\"code-block-container\">\n<pre class=\"language-shell\"><code class=\"language-shell code-line\" data-line=\"95\">\n<span class=\"token assign-left variable\">GOOS<\/span><span class=\"token operator\">=<\/span>wasip1 <span class=\"token assign-left variable\">GOARCH<\/span><span class=\"token operator\">=<\/span>wasm go build <span class=\"token parameter variable\">-o<\/span> hello.wasm hello.go\n<\/code><\/pre>\n<\/div>\n<p data-line=\"100\" class=\"code-line\">(\u9014\u4e2d\u306e\u30b3\u30de\u30f3\u30c9\u306fTinyGo\u306e\u4f8b\u3068\u540c\u3058\u3067\u3059)<\/p>\n<div class=\"code-block-container\">\n<pre class=\"language-shell\"><code class=\"language-shell code-line\" data-line=\"102\">\nwasmtime run .\/component.wasm\n<\/code><\/pre>\n<\/div>\n<div class=\"code-block-container\">\n<pre><code class=\"code-line\" data-line=\"107\">assertion failed at adapter line 2795Error: failed to run main module `component.wasm`\n\nCaused by:\n    0: failed to invoke `run` function\n    1: error while executing at wasm backtrace:\n           0: 0x25f3df - wit-component:adapter:wasi_snapshot_preview1!wasi_snapshot_preview1::macros::assert_fail::h191faa7b1dd0627d\n           1: 0x25faf8 - wit-component:adapter:wasi_snapshot_preview1!args_sizes_get\n           2: 0x263bd8 - wit-component:shim!adapt-wasi_snapshot_preview1-args_sizes_get\n           3:  0x8d4e4 - <unknown>!runtime.args_sizes_get\n           4:  0x8db24 - <unknown>!runtime.goenvs\n           5:  0x9c763 - <unknown>!runtime.schedinit\n           6: 0x1180f4 - <unknown>!runtime.rt0_go\n           7: 0x11ad09 - <unknown>!_rt0_wasm_wasip1\n           8: 0x25f2df - wit-component:adapter:wasi_snapshot_preview1!wasi:cli\/run@0.2.6#run\n    2: wasm trap: wasm `unreachable` instruction executed\n<\/unknown><\/unknown><\/unknown><\/unknown><\/unknown><\/code><\/pre>\n<\/div>\n<h2 id=\"%E3%82%A8%E3%83%A9%E3%83%BC%E8%AA%BF%E6%9F%BB\" data-line=\"125\" class=\"code-line\">\n \u30a8\u30e9\u30fc\u8abf\u67fb<\/h2>\n<p data-line=\"127\" class=\"code-line\">\u5148\u307b\u3069\u306e\u30a8\u30e9\u30fc\u3092\u898b\u3066\u307f\u308b\u3068\uff0c<code>0x25f3df<\/code>\u306e<code>assert_fail<\/code>\u3067\u767a\u751f\u3057\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e<br \/>\u305f\u3060\uff0c<code>assert_fail<\/code>\u306f\u30a8\u30e9\u30fc\u306e\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0\u51e6\u7406\u306e\u3088\u3046\u306a\u306e\u3067\uff0c\u5b9f\u969b\u306b\u306f\u4e00\u3064\u524d\u306b\u3042\u308b<code>0x25faf8<\/code>\u306e<code>args_sizes_get<\/code>\u306b\u30a8\u30e9\u30fc\u306e\u539f\u56e0\u304c\u3042\u308a\u305d\u3046\u3067\u3059\uff0e<\/p>\n<p data-line=\"130\" class=\"code-line\">dump\u3057\u3066Wasm\u306e\u51e6\u7406\u306e\u5185\u5bb9\u3092\u898b\u3066\u307f\u308b\u3068\uff0c<code>0x25faf8<\/code>\u306f\u6b21\u306e\u51e6\u7406(<code>func 49<\/code>)\u306e\u4e2d\u306b\u3042\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\uff0e<\/p>\n<div class=\"code-block-container\">\n<pre class=\"language-shell\"><code class=\"language-shell code-line\" data-line=\"132\">\nwasm-tools dump component.wasm\n<\/code><\/pre>\n<\/div>\n<div class=\"code-block-container\">\n<pre class=\"language-dump\"><code class=\"language-dump code-line\" data-line=\"137\">============== func 49 ====================\n   0x25fa4c | a7 02       | size of function\n   0x25fa4e | 01          | 1 local blocks\n   0x25fa4f | 04 7f       | 4 locals of type I32\n   0x25fa51 | 23 00       | global_get global_index:0\n   0x25fa53 | 41 20       | i32_const value:32\n...\n   0x25faef | 24 00       | global_set global_index:0\n   0x25faf1 | 41 00       | i32_const value:0\n   0x25faf3 | 0f          | return\n   0x25faf4 | 0b          | end\n   0x25faf5 | 41 eb 15    | i32_const value:2795\n   0x25faf8 | 10 2a       | call function_index:42   <\/code><\/pre>\n<\/div>\n<p data-line=\"154\" class=\"code-line\">dump\u306e\u5185\u5bb9\u3060\u3051\u3060\u3068\u307e\u3060\u8aad\u307f\u3065\u3089\u3044\u305f\u3081\uff0cWAT\u3092\u51fa\u529b\u3057\u3066<code>func 49<\/code>\u3092\u63a2\u3057\u3066\u307f\u307e\u3059\uff0e<br \/>\u3059\u308b\u3068\uff0c<code>func 49<\/code>\u306f\u30a8\u30e9\u30fc\u30ed\u30b0\u306b\u3042\u308b\u901a\u308a<code>args_sizes_get<\/code>\u95a2\u6570\u3067\u3042\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\uff0e<\/p>\n<div class=\"code-block-container\">\n<pre class=\"language-shell\"><code class=\"language-shell code-line\" data-line=\"157\">\nwasm-tools print component.wasm\n<\/code><\/pre>\n<\/div>\n<div class=\"code-block-container\">\n<pre class=\"language-wat\"><code class=\"language-wat code-line\" data-line=\"162\">    (func $args_sizes_get (;49;) (type 13) (param i32 i32) (result i32)\n      (local i32 i32 i32 i32)\n      global.get $__stack_pointer\n      i32.const 32\n      i32.sub\n      local.tee 2\n      global.set $__stack_pointer\n      block ;; label = @1\n        block ;; label = @2\n          block ;; label = @3\n            block ;; label = @4\n              call $_ZN22wasi_snapshot_preview15State3ptr17h37198fea2433a6f6E\n              local.tee 3\n              i32.load\n              i32.const 560490357\n              i32.ne\n              br_if 0 (;@4;)\n              local.get 3\n              i32.load offset=65532\n              i32.const 560490357\n              i32.ne\n              br_if 1 (;@3;)\n...\n            end\n            i32.const 2795\n            call $_ZN22wasi_snapshot_preview16macros11assert_fail17h191faa7b1dd0627dE\n            unreachable\n          end\n          i32.const 2796\n          call $_ZN22wasi_snapshot_preview16macros11assert_fail17h191faa7b1dd0627dE\n          unreachable\n        end\n...\n      end\n      i32.const 551\n      call $_ZN22wasi_snapshot_preview16macros11unreachable17hb5b1b1c3b6e09812E\n      unreachable\n    )\n<\/code><\/pre>\n<\/div>\n<p data-line=\"204\" class=\"code-line\">\u30c6\u30ad\u30b9\u30c8\u30d5\u30a9\u30fc\u30de\u30c3\u30c8 (WAT)\u306e\u5185\u5bb9\u3092\u8aad\u307f\u89e3\u3044\u3066\u307f\u308b\u3068\uff0c\u30e1\u30e2\u30ea\u4e0a\u306e\u5024\u304c\u3042\u308b\u5b9a\u6570(\u3053\u3053\u3067\u306f<code>560490357<\/code>)\u3068\u7570\u306a\u308b\u5834\u5408\u306b<code>assert_fail<\/code>\u3092\u547c\u3073\u51fa\u3057\u3066\u3044\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\uff0e<br \/>LLM\u66f0\u304f\uff0c\u3053\u306e\u51e6\u7406\u306f\u30e1\u30e2\u30ea\u4e0a\u306e\u30c7\u30fc\u30bf\u7834\u640d\u30c1\u30a7\u30c3\u30af\u51e6\u7406\u3068\u306e\u3053\u3068\u3067\u3057\u305f\uff0e<\/p>\n<h2 id=\"%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AE%E5%8E%9F%E5%9B%A0\" data-line=\"207\" class=\"code-line\">\n \u30a8\u30e9\u30fc\u306e\u539f\u56e0<\/h2>\n<p data-line=\"209\" class=\"code-line\">\u8abf\u67fb\u5185\u5bb9\u306f\u7701\u7565\u3057\u307e\u3059\u304c\uff0c\u3082\u3046\u5c11\u3057WAT\u3092\u8aad\u307f\u89e3\u3044\u3066\u307f\u308b\u3068Go\u306e\u30e9\u30f3\u30bf\u30a4\u30e0\u3068\u30a2\u30c0\u30d7\u30bf\u304c\u540c\u3058\u30e1\u30e2\u30ea\u4e0a\u3067\u5225\u3005\u306b\u30e1\u30e2\u30ea\u7ba1\u7406\u3092\u884c\u3063\u3066\u3044\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3057\u305f\uff0e\u305d\u306e\u305f\u3081\uff0cGo\u304c\u5229\u7528\u3057\u3066\u3044\u308b\u30e1\u30e2\u30ea\u9818\u57df\u3068\u30a2\u30c0\u30d7\u30bf\u304c\u5229\u7528\u3057\u3066\u3044\u308b\u30e1\u30e2\u30ea\u9818\u57df\u306e\u7af6\u5408\u304c\u767a\u751f\u3057\u305f\u3053\u3068\u306b\u3088\u3063\u3066\u3053\u306e\u30a8\u30e9\u30fc\u306b\u5230\u9054\u3057\u3066\u3044\u308b\u3088\u3046\u3067\u3057\u305f\uff0e<\/p>\n<p data-line=\"211\" class=\"code-line\">\u3064\u307e\u308a\uff0c\u3053\u306e\u30a8\u30e9\u30fc\u306f\u30a2\u30c0\u30d7\u30bf\u3068Go\u306e\u30e9\u30f3\u30bf\u30a4\u30e0\u304c\u4f7f\u7528\u3059\u308b\u30e1\u30e2\u30ea\u306e\u9818\u57df\u3092\u5206\u96e2\u3067\u304d\u308c\u3070\u89e3\u6c7a\u3067\u304d\u305d\u3046\u3067\u3059\uff0e<\/p>\n<h2 id=\"%E8%A7%A3%E6%B1%BA%E7%AD%96\" data-line=\"213\" class=\"code-line\">\n \u89e3\u6c7a\u7b56<\/h2>\n<h3 id=\"cabi_realloc%E3%81%AE%E5%AE%9F%E8%A3%85\" data-line=\"215\" class=\"code-line\">\n cabi_realloc\u306e\u5b9f\u88c5<\/h3>\n<p data-line=\"217\" class=\"code-line\">Go\u304b\u3089\u30d3\u30eb\u30c9\u3059\u308b\u969b\u306b<code>cabi_realloc<\/code>\u95a2\u6570\u3092\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3059\u308b\u3053\u3068\u3067\uff0c\u30e1\u30e2\u30ea\u7ba1\u7406\u3092Go\u5074\u3067\u884c\u3048\u308b\u3088\u3046\u306b\u3067\u304d\u305d\u3046\u3067\u3057\u305f\u304c\uff0c\u3053\u306e\u95a2\u6570\u304cGo\u5074\u306e\u521d\u671f\u5316\u51e6\u7406\u304c\u7d42\u308f\u308b\u524d\u306b\u547c\u3073\u51fa\u3055\u308c\u3066\u3057\u307e\u3046\u305f\u3081\uff0c\u30a8\u30e9\u30fc\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3059\uff0e<\/p>\n<p data-line=\"219\" class=\"code-line\"><span class=\"embed-block zenn-embedded zenn-embedded-card\"><iframe id=\"zenn-embedded__e354b91b927c3\" src=\"https:\/\/embed.zenn.studio\/card#zenn-embedded__e354b91b927c3\" data-content=\"https%3A%2F%2Fgithub.com%2Fbytecodealliance%2Fgo-modules%2Fissues%2F184\" frameborder=\"0\" scrolling=\"no\" loading=\"lazy\"><\/iframe><\/span><a target=\"_blank\" href=\"https:\/\/github.com\/bytecodealliance\/go-modules\/issues\/184\" style=\"display:none\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/bytecodealliance\/go-modules\/issues\/184<\/a><\/p>\n<div class=\"code-block-container\">\n<pre class=\"language-go\"><code class=\"language-go code-line\" data-line=\"221\"><span class=\"token keyword\">package<\/span> main\n\n\n<span class=\"token keyword\">func<\/span> <span class=\"token function\">cabiRealloc<\/span><span class=\"token punctuation\">(<\/span>oldPtr<span class=\"token punctuation\">,<\/span> oldSize<span class=\"token punctuation\">,<\/span> align<span class=\"token punctuation\">,<\/span> newSize <span class=\"token builtin\">uint32<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token builtin\">uint32<\/span> <span class=\"token punctuation\">{<\/span>\n    \n<span class=\"token punctuation\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<p data-line=\"230\" class=\"code-line\">\u8a73\u3057\u304f\u306f<code>cabi_realloc<\/code>\u3092\u5b9f\u88c5\u3057\u3066\u307f\u3066WAT\u3092\u8aad\u3093\u3067\u307f\u3066\u304f\u3060\u3055\u3044\uff0e<\/p>\n<h3 id=\"multi-memory%E3%82%92%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B\" data-line=\"232\" class=\"code-line\">\n multi-memory\u3092\u5229\u7528\u3059\u308b<\/h3>\n<p data-line=\"234\" class=\"code-line\">\u30e1\u30e2\u30ea\u9818\u57df\u306e\u5206\u96e2\u3068\u3044\u3046\u3068\uff0cWasm\u306emulti-memory\u3092\u5229\u7528\u3059\u308b\u306e\u304c\u826f\u3055\u305d\u3046\u3067\u3057\u305f\u304c\uff0cBytcode Alliance\u304c\u63d0\u4f9b\u3057\u3066\u3044\u308b\u30a2\u30c0\u30d7\u30bf\u51e6\u7406\u306fmulti-memory\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u305b\u3093\uff0e<\/p>\n<div class=\"code-block-container\">\n<pre class=\"language-shell\"><code class=\"language-shell code-line\" data-line=\"236\">\nwasm-tools component new <span class=\"token parameter variable\">-o<\/span> component.wasm <span class=\"token parameter variable\">--adapt<\/span> wasi_snapshot_preview1.command.wasm hello.wasm\n<\/code><\/pre>\n<\/div>\n<div class=\"code-block-container\">\n<pre><code class=\"code-line\" data-line=\"241\">error: failed to encode a component from module\n\nCaused by:\n    0: failed to decode world from module\n    1: failed to reduce input adapter module to its minimal size\n    2: adapter modules don't support multi-memory\n<\/code><\/pre>\n<\/div>\n<p data-line=\"250\" class=\"code-line\">\u30d3\u30eb\u30c9\u5f8c\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u7de8\u96c6\u3057\u3066multi-memory\u306b\u3057\u3066\u3057\u307e\u3048\u3070\u3046\u307e\u304f\u3044\u304f\u304b\u3082\u3057\u308c\u306a\u3044\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\uff0c\u66f8\u304d\u63db\u3048\u7b87\u6240\u306e\u7279\u5b9a\u304c\u5927\u5909\u305d\u3046\u306a\u306e\u3067\u65ad\u5ff5\u3057\u307e\u3057\u305f\uff0e<\/p>\n<h3 id=\"%E3%83%A1%E3%83%A2%E3%83%AA%E4%B8%8A%E3%81%AE%E9%A0%98%E5%9F%9F%E3%82%92%E8%A2%AB%E3%82%89%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B\" data-line=\"254\" class=\"code-line\">\n \u30e1\u30e2\u30ea\u4e0a\u306e\u9818\u57df\u3092\u88ab\u3089\u306a\u3044\u3088\u3046\u306b\u3059\u308b<\/h3>\n<p data-line=\"256\" class=\"code-line\">\u4e00\u822c\u7684\u306b\u30e1\u30e2\u30ea\u78ba\u4fdd\u306f\u8fd1\u3044\u9818\u57df\u3067\u884c\u308f\u308c\u308b\u306f\u305a\u306a\u306e\u3067\uff0cGo\u306e\u30e9\u30f3\u30bf\u30a4\u30e0\u3068\u30a2\u30c0\u30d7\u30bf\u304c\u4f7f\u7528\u3059\u308b\u30e1\u30e2\u30ea\u9818\u57df\u3092\u88ab\u3089\u306a\u3044\u3088\u3046\u30e1\u30e2\u30ea\u4e0a\u306e\u6271\u3046\u9818\u57df\u3092\u96e2\u3057\u3066\u307f\u307e\u3059\uff0e<\/p>\n<p data-line=\"258\" class=\"code-line\">WAT\u30d5\u30a1\u30a4\u30eb\u306e\u4e2d\u8eab\u3092\u8abf\u3079\u3066\u307f\u308b\u3068\uff0c\u6b21\u306e2\u3064\u306e\u9805\u76ee\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\uff0e<\/p>\n<div class=\"code-block-container\">\n<pre class=\"language-wac\"><code class=\"language-wac code-line\" data-line=\"264\">    (global $__stack_pointer (;0;) (mut i32) i32.const 0)\n<\/code><\/pre>\n<\/div>\n<p data-line=\"268\" class=\"code-line\"><code>(memory 36)<\/code>\u306f\uff0c\u30e1\u30e2\u30ea\u306e\u5b9a\u7fa9\u3068\u521d\u671f\u30b5\u30a4\u30ba\u3092\u610f\u5473\u3057\u3066\u3044\u308b\u305f\u3081\uff0c\u3053\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306f\u8d77\u52d5\u3057\u305f\u30bf\u30a4\u30df\u30f3\u30b0\u306736\u30da\u30fc\u30b8 (<code>36 x 64KiB<\/code>)\u306e\u30e1\u30e2\u30ea\u3092\u78ba\u4fdd\u3057\u307e\u3059\uff0e<\/p>\n<p data-line=\"272\" class=\"code-line\">\u6b21\u306e<code>(global $__stack_pointer (mut i32) i32.const 0)<\/code>\u306f\uff0c\u30a2\u30c0\u30d7\u30bf\u304c\u4f7f\u3046\u30e1\u30e2\u30ea\u9818\u57df\u306e\u30b9\u30bf\u30c3\u30af\u30dd\u30a4\u30f3\u30bf\u306e\u6307\u5b9a\u306b\u5229\u7528\u3055\u308c\u3066\u3044\u307e\u3059\uff0e<\/p>\n<p data-line=\"274\" class=\"code-line\">\u3053\u306e2\u3064\u306e\u9805\u76ee\u3092\u305d\u308c\u305e\u308c<code>(memory 128)<\/code>\u3068<code>(global $__stack_pointer (mut i32) i32.const 8388608)<\/code>\u306b\u66f8\u304d\u63db\u3048\u3066\u307f\u307e\u3059\uff0e<\/p>\n<div class=\"code-block-container\">\n<pre class=\"language-shell\"><code class=\"language-shell code-line\" data-line=\"278\">\nwasm-tools print component.wasm <span class=\"token punctuation\">\\<\/span>\n  <span class=\"token operator\">|<\/span> <span class=\"token function\">sed<\/span> <span class=\"token string\">'s\/(memory (;0;) 36)\/(memory 128)\/'<\/span> <span class=\"token punctuation\">\\<\/span>\n  <span class=\"token operator\">|<\/span> <span class=\"token function\">sed<\/span> <span class=\"token string\">'s\/(global $__stack_pointer (;0;) (mut i32) i32.const 0)\/(global $__stack_pointer (mut i32) i32.const 8388608)\/'<\/span> <span class=\"token punctuation\">\\<\/span>\n  <span class=\"token operator\">|<\/span> wasm-tools parse <span class=\"token parameter variable\">-o<\/span> component_fix.wasm\n<\/code><\/pre>\n<\/div>\n<p data-line=\"286\" class=\"code-line\">\u5b9f\u884c\u3057\u3066\u307f\u308b\u3068&#8230;<\/p>\n<div class=\"code-block-container\">\n<pre class=\"language-shell\"><code class=\"language-shell code-line\" data-line=\"288\">\nwasmtime run .\/component_fix.wasm\n<\/code><\/pre>\n<\/div>\n<p data-line=\"297\" class=\"code-line\">\u3053\u306e\u3088\u3046\u306b\u3046\u307e\u304f\u52d5\u4f5c\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\uff0e<\/p>\n<p data-line=\"299\" class=\"code-line\">\u3053\u306e\u66f8\u304d\u63db\u3048\u3092\u884c\u3046\u305f\u3081\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u7528\u610f\u3057\u3066\u307f\u305f\u306e\u3067\uff0c\u53c2\u8003\u306b\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\uff0e<\/p>\n<p data-line=\"301\" class=\"code-line\"><span class=\"embed-block zenn-embedded zenn-embedded-github\"><iframe id=\"zenn-embedded__40353469ec24f\" src=\"https:\/\/embed.zenn.studio\/github#zenn-embedded__40353469ec24f\" data-content=\"https%3A%2F%2Fgithub.com%2Fa-skua%2Fwasip122%2Fblob%2Fd6384c733f0296e1ba65d2529b034a2af2e05f5b%2Fbin%2Ffix-mem.rb\" frameborder=\"0\" scrolling=\"no\" loading=\"lazy\"><\/iframe><\/span><a target=\"_blank\" href=\"https:\/\/github.com\/a-skua\/wasip122\/blob\/d6384c733f0296e1ba65d2529b034a2af2e05f5b\/bin\/fix-mem.rb\" style=\"display:none\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/a-skua\/wasip122\/blob\/d6384c733f0296e1ba65d2529b034a2af2e05f5b\/bin\/fix-mem.rb<\/a><\/p>\n<h2 id=\"%E3%81%93%E3%82%8C%E3%81%A0%E3%81%91%E3%81%A7%E3%81%AF%E5%AE%9F%E7%8F%BE%E3%81%A7%E3%81%8D%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8\" data-line=\"303\" class=\"code-line\">\n \u3053\u308c\u3060\u3051\u3067\u306f\u5b9f\u73fe\u3067\u304d\u3066\u3044\u306a\u3044\u3053\u3068<\/h2>\n<p data-line=\"305\" class=\"code-line\">\u3072\u3068\u307e\u305a\u7c21\u5358\u306a\u51e6\u7406\u3067\u3042\u308c\u3070\u3053\u3053\u3067\u7d39\u4ecb\u3057\u305f\u65b9\u6cd5\u3067\u52d5\u4f5c\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u304c\uff0c\u30d5\u30a1\u30a4\u30eb\u306e\u4e2d\u8eab\u3092\u8aad\u307f\u51fa\u3059\u3068\u3044\u3063\u305f\u3053\u3068\u304c\u3053\u3053\u3067\u7d39\u4ecb\u3057\u305f\u65b9\u6cd5\u3060\u3051\u3067\u306f\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff0e<\/p>\n<p data-line=\"307\" class=\"code-line\">WASI 0.1\u306e\u7bc4\u56f2\u3067\u306f\u30d5\u30a1\u30a4\u30eb\u306e\u4e2d\u8eab\u3092\u8aad\u307f\u51fa\u305b\u3066\u3044\u305f\u306e\u3067\uff0c\u30a2\u30c0\u30d7\u30bf\u5074\u306b\u4f55\u304b\u3042\u308a\u305d\u3046\u3067\u3059\uff0e<\/p>\n<p data-line=\"309\" class=\"code-line\">\u307e\u305f\uff0cTinyGo\u306e\u5834\u5408\u306f\u30e1\u30e2\u30ea\u3092\u5fc5\u8981\u3068\u3057\u306a\u3044\u74b0\u5883\u3067\u3042\u308c\u3070\u30e1\u30e2\u30ea\u9818\u57df\u306e\u66f8\u304d\u63db\u3048\u3092\u3057\u306a\u304f\u3068\u3082\u52d5\u304f\u3082\u306e\u306e\uff0c\u5927\u304d\u3081\u306e\u30e1\u30e2\u30ea\u9818\u57df\u304c\u5fc5\u8981\u306b\u306a\u308b\u30b1\u30fc\u30b9\u3067\u540c\u69d8\u306e\u554f\u984c\u304c\u767a\u751f\u3057\u3066\u3057\u3066\u3057\u307e\u3044\u307e\u3059\uff0e<\/p>\n<p data-line=\"311\" class=\"code-line\">\u306a\u306e\u3067\uff0cmulti-memory\u306b\u5bfe\u5fdc\u3057\u305f\u30a2\u30c0\u30d7\u30bf\u7528\u610f\u3057\u3066\u5b8c\u5168\u306b\u30e1\u30e2\u30ea\u9818\u57df\u3092\u5206\u3051\u308b\u3053\u3068\u304c\u4e00\u756a\u78ba\u5b9f\u306a\u65b9\u6cd5\u3067\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304b\uff0e<\/p>\n<h2 id=\"%E3%81%BE%E3%81%A8%E3%82%81\" data-line=\"313\" class=\"code-line\">\n \u307e\u3068\u3081<\/h2>\n<p data-line=\"315\" class=\"code-line\">\u307e\u3060\u8ab2\u984c\u306f\u3042\u308b\u3082\u306e\u306e\uff0cGo\u306eWASI 0.1\u3092WASI 0.2\u306b\u5909\u63db\u3057\u3066\u5b9f\u884c\u3067\u304d\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\uff0e<\/p>\n<p data-line=\"317\" class=\"code-line\">\u3082\u3057\uff0cGo\u3067WASI 0.2\u3092\u8a66\u3057\u305f\u3044\u306e\u3067\u3042\u308c\u3070&#8230;<\/p>\n<div class=\"code-block-container\">\n<pre class=\"language-shell\"><code class=\"language-shell code-line\" data-line=\"319\">\n<span class=\"token assign-left variable\">GOOS<\/span><span class=\"token operator\">=<\/span>wasip2 <span class=\"token assign-left variable\">GOARCH<\/span><span class=\"token operator\">=<\/span>wasm tinygo build <span class=\"token parameter variable\">-o<\/span> hello.wasm hello.go\n<\/code><\/pre>\n<\/div>\n<div class=\"code-block-container\">\n<pre class=\"language-shell\"><code class=\"language-shell code-line\" data-line=\"324\">\nwasmtime run .\/hello.wasm\n<\/code><\/pre>\n<\/div>\n<\/div>\n\n<br \/><a href=\"https:\/\/zenn.dev\/monicle\/articles\/eda7b2e509269f\">\u5143\u306e\u8a18\u4e8b\u3092\u78ba\u8a8d\u3059\u308b <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"Go\u306fWASI 0.1\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u304c\uff0c\u73fe\u6642\u70b9\u306eWASI\u306e\u6700\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u306f0.2.x\u3067\uff0cGo\u306f\u307e\u30600.2\u4ee5\u964d\u306eWASI\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093\uff0e Go\u3067WASI 0.2\u3092\u5229\u7528\u3057\u305f\u3044\u5834\u5408\uff0c2025\u5e74\u6642\u70b9\u3067\u306fTinyGo [&hellip;]","protected":false},"author":1,"featured_media":7145,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-7144","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-company-tec"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Go\u306eWASI 0.1\u3092WASI 0.2\u306b\u5909\u63db\u3057\u3066\u5b9f\u884c\u3059\u308b - \u30dd\u30b1\u30b3\u30f3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zenn.dev\/monicle\/articles\/eda7b2e509269f\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Go\u306eWASI 0.1\u3092WASI 0.2\u306b\u5909\u63db\u3057\u3066\u5b9f\u884c\u3059\u308b - \u30dd\u30b1\u30b3\u30f3\" \/>\n<meta property=\"og:description\" content=\"Go\u306fWASI 0.1\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u304c\uff0c\u73fe\u6642\u70b9\u306eWASI\u306e\u6700\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u306f0.2.x\u3067\uff0cGo\u306f\u307e\u30600.2\u4ee5\u964d\u306eWASI\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093\uff0e Go\u3067WASI 0.2\u3092\u5229\u7528\u3057\u305f\u3044\u5834\u5408\uff0c2025\u5e74\u6642\u70b9\u3067\u306fTinyGo [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zenn.dev\/monicle\/articles\/eda7b2e509269f\" \/>\n<meta property=\"og:site_name\" content=\"\u30dd\u30b1\u30b3\u30f3\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-27T05:29:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/09\/1758950947_og-base-w1200-v2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"info@pokecon.jp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"info@pokecon.jp\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"4\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zenn.dev\\\/monicle\\\/articles\\\/eda7b2e509269f#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/7144\\\/\"},\"author\":{\"name\":\"info@pokecon.jp\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\"},\"headline\":\"Go\u306eWASI 0.1\u3092WASI 0.2\u306b\u5909\u63db\u3057\u3066\u5b9f\u884c\u3059\u308b\",\"datePublished\":\"2025-09-27T05:29:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/7144\\\/\"},\"wordCount\":107,\"image\":{\"@id\":\"https:\\\/\\\/zenn.dev\\\/monicle\\\/articles\\\/eda7b2e509269f#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/1758950947_og-base-w1200-v2.png\",\"articleSection\":[\"\u4f01\u696d\u30c6\u30c3\u30af\"],\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/7144\\\/\",\"url\":\"https:\\\/\\\/zenn.dev\\\/monicle\\\/articles\\\/eda7b2e509269f\",\"name\":\"Go\u306eWASI 0.1\u3092WASI 0.2\u306b\u5909\u63db\u3057\u3066\u5b9f\u884c\u3059\u308b - \u30dd\u30b1\u30b3\u30f3\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/zenn.dev\\\/monicle\\\/articles\\\/eda7b2e509269f#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/zenn.dev\\\/monicle\\\/articles\\\/eda7b2e509269f#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/1758950947_og-base-w1200-v2.png\",\"datePublished\":\"2025-09-27T05:29:07+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zenn.dev\\\/monicle\\\/articles\\\/eda7b2e509269f#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zenn.dev\\\/monicle\\\/articles\\\/eda7b2e509269f\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/zenn.dev\\\/monicle\\\/articles\\\/eda7b2e509269f#primaryimage\",\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/1758950947_og-base-w1200-v2.png\",\"contentUrl\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/1758950947_og-base-w1200-v2.png\",\"width\":1200,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zenn.dev\\\/monicle\\\/articles\\\/eda7b2e509269f#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u30db\u30fc\u30e0\",\"item\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Go\u306eWASI 0.1\u3092WASI 0.2\u306b\u5909\u63db\u3057\u3066\u5b9f\u884c\u3059\u308b\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#website\",\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/\",\"name\":\"\u30dd\u30b1\u30b3\u30f3\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\",\"name\":\"info@pokecon.jp\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"caption\":\"info@pokecon.jp\"},\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/author\\\/infopokecon-jp\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Go\u306eWASI 0.1\u3092WASI 0.2\u306b\u5909\u63db\u3057\u3066\u5b9f\u884c\u3059\u308b - \u30dd\u30b1\u30b3\u30f3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zenn.dev\/monicle\/articles\/eda7b2e509269f","og_locale":"ja_JP","og_type":"article","og_title":"Go\u306eWASI 0.1\u3092WASI 0.2\u306b\u5909\u63db\u3057\u3066\u5b9f\u884c\u3059\u308b - \u30dd\u30b1\u30b3\u30f3","og_description":"Go\u306fWASI 0.1\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u304c\uff0c\u73fe\u6642\u70b9\u306eWASI\u306e\u6700\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u306f0.2.x\u3067\uff0cGo\u306f\u307e\u30600.2\u4ee5\u964d\u306eWASI\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093\uff0e Go\u3067WASI 0.2\u3092\u5229\u7528\u3057\u305f\u3044\u5834\u5408\uff0c2025\u5e74\u6642\u70b9\u3067\u306fTinyGo [&hellip;]","og_url":"https:\/\/zenn.dev\/monicle\/articles\/eda7b2e509269f","og_site_name":"\u30dd\u30b1\u30b3\u30f3","article_published_time":"2025-09-27T05:29:07+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/09\/1758950947_og-base-w1200-v2.png","type":"image\/png"}],"author":"info@pokecon.jp","twitter_card":"summary_large_image","twitter_misc":{"\u57f7\u7b46\u8005":"info@pokecon.jp","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"4\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zenn.dev\/monicle\/articles\/eda7b2e509269f#article","isPartOf":{"@id":"https:\/\/pokecon.jp\/job\/7144\/"},"author":{"name":"info@pokecon.jp","@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997"},"headline":"Go\u306eWASI 0.1\u3092WASI 0.2\u306b\u5909\u63db\u3057\u3066\u5b9f\u884c\u3059\u308b","datePublished":"2025-09-27T05:29:07+00:00","mainEntityOfPage":{"@id":"https:\/\/pokecon.jp\/job\/7144\/"},"wordCount":107,"image":{"@id":"https:\/\/zenn.dev\/monicle\/articles\/eda7b2e509269f#primaryimage"},"thumbnailUrl":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/09\/1758950947_og-base-w1200-v2.png","articleSection":["\u4f01\u696d\u30c6\u30c3\u30af"],"inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/pokecon.jp\/job\/7144\/","url":"https:\/\/zenn.dev\/monicle\/articles\/eda7b2e509269f","name":"Go\u306eWASI 0.1\u3092WASI 0.2\u306b\u5909\u63db\u3057\u3066\u5b9f\u884c\u3059\u308b - \u30dd\u30b1\u30b3\u30f3","isPartOf":{"@id":"https:\/\/pokecon.jp\/job\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zenn.dev\/monicle\/articles\/eda7b2e509269f#primaryimage"},"image":{"@id":"https:\/\/zenn.dev\/monicle\/articles\/eda7b2e509269f#primaryimage"},"thumbnailUrl":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/09\/1758950947_og-base-w1200-v2.png","datePublished":"2025-09-27T05:29:07+00:00","author":{"@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997"},"breadcrumb":{"@id":"https:\/\/zenn.dev\/monicle\/articles\/eda7b2e509269f#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zenn.dev\/monicle\/articles\/eda7b2e509269f"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/zenn.dev\/monicle\/articles\/eda7b2e509269f#primaryimage","url":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/09\/1758950947_og-base-w1200-v2.png","contentUrl":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/09\/1758950947_og-base-w1200-v2.png","width":1200,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/zenn.dev\/monicle\/articles\/eda7b2e509269f#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u30db\u30fc\u30e0","item":"https:\/\/pokecon.jp\/job\/"},{"@type":"ListItem","position":2,"name":"Go\u306eWASI 0.1\u3092WASI 0.2\u306b\u5909\u63db\u3057\u3066\u5b9f\u884c\u3059\u308b"}]},{"@type":"WebSite","@id":"https:\/\/pokecon.jp\/job\/#website","url":"https:\/\/pokecon.jp\/job\/","name":"\u30dd\u30b1\u30b3\u30f3","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pokecon.jp\/job\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997","name":"info@pokecon.jp","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","caption":"info@pokecon.jp"},"url":"https:\/\/pokecon.jp\/job\/author\/infopokecon-jp\/"}]}},"_links":{"self":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/7144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/comments?post=7144"}],"version-history":[{"count":1,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/7144\/revisions"}],"predecessor-version":[{"id":7146,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/7144\/revisions\/7146"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/media\/7145"}],"wp:attachment":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/media?parent=7144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/categories?post=7144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/tags?post=7144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}