Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ダーツの旅で_説明するポインタ.pdf
Search
ミカイ
November 07, 2024
46
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ダーツの旅で_説明するポインタ.pdf
【東京/神田】 WebエンジニアオフラインLT会&交流会
2024/09/07
https://connpass.com/event/326925/
ミカイ
November 07, 2024
More Decks by ミカイ
See All by ミカイ
今からフロントエンドを0から勉強するならSvelteもありかも
junmikai
0
99
tsoaはいいぞ!APIドキュメントを自動生成!
junmikai
0
76
生成AI活用はHOWが大事な理由
junmikai
0
220
2025年の抱負: フリーランスから 正社員に戻るので 組織に貢献します!
junmikai
0
130
Chakra UI v3にバージョンアップしてほぼ別物になった件
junmikai
0
1.3k
LTのテーマ決めは「多数派」を意識しよう ~ LT年40回登壇した件~
junmikai
0
64
成長するには「重要 VS 緊急」を意識しよう
junmikai
0
29
LTのテーマ決めは「多数派」を意識しよう ~ LT年40回登壇した件~
junmikai
0
65
目標は「めいそう」が大事。漢字はどう書く?
junmikai
2
75
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.3k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
2k
Done Done
chrislema
187
17k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The SEO identity crisis: Don't let AI make you average
varn
0
560
Facilitating Awesome Meetings
lara
57
7.1k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
880
Faster Mobile Websites
deanohume
310
32k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
280
Transcript
ダーツの旅で 説明するポインタ 三海 純(ミカイジュン)
ミカイ ジュン • フリーランスエンジニア • 趣味: もくもく会、アニメ、ネット麻雀(雀魂)
• 好きな有名人 ◦ 後藤 ひとり ◦ 千早 愛音 ◦ 陸八魔アル ◦ 八木 唯
キャリア • 現在 : フリーランス(自社開発) ◦ Next.jsの新規開発とバックエンドを担当 •
2022/03 - 2023/09: 正社員(自社開発) ◦ バックエンドはPython / Nest.js(Node.js) ◦ フロントエンドはReact.jsとNext.js • 2020/06 - 2022/02: 正社員(受託企業) ◦ Vue.js/Nuxt.jsをメイン
今回お話しすること プログラミングの ポインタ に関して
package main import "fmt" func main() { blueArrow, redArrow :=
42, 2701 blueArrowMap := &blueArrow *blueArrowMap = 21 blueArrowMap = &redArrow // blueArrowMap: 0xc000104048 fmt.Println("blueArrowMap:", blueArrowMap) // &blueArrowMap: 0xc000108038 fmt.Println("&blueArrowMap:", &blueArrowMap) // *blueArrowMap: 2701 fmt.Println("*blueArrowMap:", *blueArrowMap) }
あるある? Java、C#、Perlなど 経験したことがない エンジニアにとって ポインタは難しい
「:」とか「&」ってなんやねん
というわけで? ポインタをダーツで解説!
None
2710号 42号 ※ここの数字は位置ではなくダーツの名前だと思ってください func main() { blueArrow, redArrow := 42,
2701
2710号 42号 住所: 0xc000104048(以降 島根県) 住所: 0xc000104040(以降 石川県) blueArrow, redArrow
:= 42, 2701 // blueArrow: 42 fmt.Println("blueArrow:", blueArrow) // &blueArrow: 0xc000104040(石川県) fmt.Println("&blueArrow:", &blueArrow) // redArrow: 2701 fmt.Println("redArrow:", redArrow) // &redArrow: 0xc000104048(島根県) fmt.Println("&redArrow:", &redArrow) 普通の値に &をつけると住所が取得できる
青い矢の住所が載っている 2710号 42号 func main() { blueArrow, redArrow := 42,
2701 blueArrowMap := &blueArrow
青い矢の住所が載っている 42号 blueArrow, redArrow := 42, 2701 blueArrowMap := &blueArrow
// blueArrowMap: 石川県 fmt.Println("blueArrowMap:", blueArrowMap) // &blueArrowMap: 0xc000108038( 東京都) fmt.Println("&blueArrowMap:", &blueArrowMap) // *blueArrowMap: 42 fmt.Println("*blueArrowMap:", *blueArrowMap) - 地図本体は参照先 (青い矢)の住所(16進数) - &をつけると本体の住所 - *をつけると参照先 (青い矢)の値
地図の青い矢の名前を変えましょう 2710号 21号 func main() { blueArrow, redArrow := 42,
2701 blueArrowMap := &blueArrow *blueArrowMap = 21
21号 住所: 石川県 blueArrow, redArrow := 42, 2701 blueArrowMap :=
&blueArrow *blueArrowMap = 21 // blueArrow: 21 fmt.Println("blueArrow:", blueArrow) // &blueArrow: 石川県 fmt.Println("&blueArrow:", &blueArrow) 変数に*をつけて定義しなおすと 本体(青ダーツ矢 )の値も変わる
2710号 21号 これからは赤い矢を見ましょう blueArrow, redArrow := 42, 2701 blueArrowMap :=
&blueArrow *blueArrowMap = 21 blueArrowMap = &redArrow
2710号 21号 住所: 島根県 blueArrow, redArrow := 42, 2701 blueArrowMap
:= &blueArrow *blueArrowMap = 21 blueArrowMap = &redArrow // blueArrowMap: 島根県 fmt.Println("blueArrowMap:", blueArrowMap) // &blueArrowMap: 東京都 fmt.Println("&blueArrowMap:", &blueArrowMap) // *blueArrowMap: 2701 fmt.Println("*blueArrowMap:", *blueArrowMap) - blueArrowMap = &redArrowで参照先を変更 - &をつけると本体の住所 (前と変わらない ) - *をつけると参照先 (赤い矢)の値が出力
といった感じで簡単に 解説してみました
一回の説明じゃわからない?
None
None
ご清聴ありがとうござ います!