در این مطلب، ویدئو یک افزونه پایتون در go (پیشرفته) آنتونی شماره 338 را توضیح می دهد با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:30:30
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:02,960 –> 00:00:05,040
سلام و به ویدیوی دیگری در این ویدیو خوش آمدید،
2
00:00:05,040 –> 00:00:06,960
این یک
3
00:00:06,960 –> 00:00:09,679
ویدیوی پیشرفته خواهد بود، ما قصد داریم یک
4
00:00:09,679 –> 00:00:11,599
پسوند پایتون بنویسیم به طور معمول شما
5
00:00:11,599 –> 00:00:13,599
آنها را در c می نویسید، من یک ویدیو در پسوندهای c انجام
6
00:00:13,599 –> 00:00:14,960
دادم، آن را در توضیحات پیوند خواهم داد
7
00:00:14,960 –> 00:00:16,400
اما امروز میخواهیم
8
00:00:16,400 –> 00:00:18,880
یکی را بنویسیم،
9
00:00:18,880 –> 00:00:20,880
پس بیایید وارد آن شویم،
10
00:00:20,880 –> 00:00:22,880
بنابراین روشی که امروز این کار را انجام میدهیم
11
00:00:22,880 –> 00:00:24,400
و این در واقع
12
00:00:24,400 –> 00:00:26,920
از زمان go
13
00:00:26,920 –> 00:00:31,519
1.5 که یک خروجی شی مشترک جدید را معرفی کرد، امکان پذیر
14
00:00:31,519 –> 00:00:34,399
بوده است. به فایلهای اجرایی بروید و سپس
15
00:00:34,399 –> 00:00:36,719
میدانید که چگونه پایتون
16
00:00:36,719 –> 00:00:39,440
ماژولها را از طریق اشیاء مشترک بارگذاری میکند و بنابراین
17
00:00:39,440 –> 00:00:41,040
شما دو نقطه را به هم متصل میکنید و میتوانید
18
00:00:41,040 –> 00:00:43,120
یک ماژول مشترک را از go خروجی بگیرید و سپس
19
00:00:43,120 –> 00:00:45,120
آن را از پایتون وارد کنید و به این ترتیب به پایتون اجازه میدهد تا
20
00:00:45,120 –> 00:00:47,440
به کد go فراخوانی کند
21
00:00:47,440 –> 00:00:48,879
و i’ من
22
00:00:48,879 –> 00:00:50,719
متوجه شدم که این برای راهاندازی بسیار مشکل است
23
00:00:50,719 –> 00:00:52,960
، بنابراین من یک برنامه افزودنی کمکی کوچک برای ابزارهای
24
00:00:52,960 –> 00:00:54,239
25
00:00:54,239 –> 00:00:56,800
26
00:00:56,800 –> 00:00:59,359
27
00:00:59,359 –> 00:01:01,440
28
00:01:01,440 –> 00:01:03,520
راهاندازی ساختم که به نوعی سادهسازی میکند که چگونه میتوانید این را تنظیم کنید و آن افزونه ابزار راهاندازی به نام ابزار راهاندازی گلانگ نامیده میشود و من قصد دارم
29
00:01:03,520 –> 00:01:05,920
شما را از طریق راه رفتن چند نمونه از نوشتن
30
00:01:05,920 –> 00:01:07,200
31
00:01:07,200 –> 00:01:10,159
پسوندهای c خودمان اما در go
32
00:01:10,159 –> 00:01:13,119
و اوم بله، بنابراین اگر میخواهید بیشتر
33
00:01:13,119 –> 00:01:15,040
در مورد این موضوع در github بیاموزید، سعی میکنم و
34
00:01:15,040 –> 00:01:16,799
به یاد داشته باشید که این را در
35
00:01:16,799 –> 00:01:19,360
توضیحات پیوند دهم، اما از هر چیزی
36
00:01:19,360 –> 00:01:22,400
جدیدتر از golang 1.5 پشتیبانی میکند و
37
00:01:22,400 –> 00:01:24,400
go فقط از دو نسخه اخیر پشتیبانی می کند،
38
00:01:24,400 –> 00:01:26,479
بنابراین این نسخه ها تنها نسخه هایی هستند که
39
00:01:26,479 –> 00:01:28,479
در حال حاضر با آنها آزمایش شده است و
40
00:01:28,479 –> 00:01:31,439
همچنین برای pi pi کار می کند، بنابراین
41
00:01:31,439 –> 00:01:32,479
42
00:01:32,479 –> 00:01:34,720
باید ماژول هایی را برای pi pi توزیع کنید
43
00:01:34,720 –> 00:01:37,360
که همچنین روی اکثر
44
00:01:37,360 –> 00:01:39,200
سیستم عامل های پشتیبانی شده نیز کار می کند.
45
00:01:39,200 –> 00:01:41,759
روی ویندوزهای لینوکس و mac os کاملاً کار می کند
46
00:01:41,759 –> 00:01:43,360
کمی داستان متفاوت است
47
00:01:43,360 –> 00:01:44,240
زیرا
48
00:01:44,240 –> 00:01:46,479
c python از کتابخانه ویندوز c متفاوتی
49
00:01:46,479 –> 00:01:50,880
نسبت به go برای پایتون 64 بیتی استفاده
50
00:01:50,880 –> 00:01:53,040
می کند اما برای پایتون 32 بیتی کار می کند اگر
51
00:01:53,040 –> 00:01:55,840
بتوانید یک کامپایلر پیدا کنید واقعاً اینطور است.
52
00:01:55,840 –> 00:01:58,240
پیدا کردن کامپایلری که
53
00:01:58,240 –> 00:02:01,040
هم برای پایتون 32 بیتی و هم برای 32 بیتی کار کند سخت است، اما
54
00:02:01,040 –> 00:02:02,640
مطمئناً این امکان وجود دارد،
55
00:02:02,640 –> 00:02:03,520
56
00:02:03,520 –> 00:02:05,200
اما ما امروز به طور کامل
57
00:02:05,200 –> 00:02:07,119
روی لینوکس کار خواهیم کرد، بنابراین امیدواریم که شما
58
00:02:07,119 –> 00:02:09,119
بتوانید آن را ببینید و بقیه موارد readme به
59
00:02:09,119 –> 00:02:11,360
نوعی می رود از طریق دستورالعملها
60
00:02:11,360 –> 00:02:12,800
و ما آنها را به دقت دنبال میکنیم
61
00:02:12,800 –> 00:02:14,560
و اگر میخواهید برای مثال چرخهای abi 3 را توزیع کنید، چند
62
00:02:14,560 –> 00:02:16,800
ترفند دیگر را به شما نشان میدهم تا این کار بهتر انجام شود،
63
00:02:16,800 –> 00:02:18,400
64
00:02:18,400 –> 00:02:21,200
65
00:02:21,200 –> 00:02:23,840
اما به هر حال بیایید شروع کنیم، بنابراین
66
00:02:23,840 –> 00:02:25,760
این یک پایتون است. پروژه بنابراین ما می خواهیم
67
00:02:25,760 –> 00:02:27,680
با setup.pi شروع کنیم، این
68
00:02:27,680 –> 00:02:30,080
ساده ترین کاری است که در اینجا
69
00:02:30,080 –> 00:02:33,200
از ابزارهای راه اندازی انجام می دهم و ما می
70
00:02:33,200 –> 00:02:35,760
خواهیم نام راه اندازی بسته خود
71
00:02:35,760 –> 00:02:37,120
را برابر با ما قرار دهیم. آن را
72
00:02:37,120 –> 00:02:39,840
سلام دنیا برو
73
00:02:39,840 –> 00:02:41,680
و ترفندی که باعث میشود ابزارهای راهاندازی در
74
00:02:41,680 –> 00:02:43,920
خط کار کنند این است که باید آن را
75
00:02:43,920 –> 00:02:46,000
در زمان راهاندازی در دسترس داشته باشید، دو
76
00:02:46,000 –> 00:02:48,560
راه برای انجام این کار وجود دارد که روش قدیمی این است که
77
00:02:48,560 –> 00:02:51,120
نصب به
78
00:02:51,120 –> 00:02:54,640
ابزارهای راهاندازی نیاز دارد
79
00:02:54,640 –> 00:02:57,120
و ماشینآلات ابزارهای راهاندازی این کار را انجام میدهند.
80
00:02:57,120 –> 00:02:59,280
این را دانلود کنید و در زمان راه اندازی در دسترس قرار دهید.
81
00:02:59,280 –> 00:03:01,920
روش جدیدتر
82
00:03:01,920 –> 00:03:04,239
این است که از طریق pi project.tamil
83
00:03:04,239 –> 00:03:05,680
84
00:03:05,680 –> 00:03:07,120
85
00:03:07,120 –> 00:03:09,120
این را پیشنهاد دهید. می توانید به دنبال
86
00:03:09,120 –> 00:03:10,000
87
00:03:10,000 –> 00:03:12,480
مواردی باشید که می دانید راه اندازی به موارد واقعی نیاز دارد y
88
00:03:12,480 –> 00:03:14,400
ما می خواهیم راه اندازی نیاز به درستی دارد نه نصب
89
00:03:14,400 –> 00:03:15,680
نیاز دارد
90
00:03:15,680 –> 00:03:17,760
اوه چون می خواستیم زمان
91
00:03:17,760 –> 00:03:20,239
نصب نیاز به نصب در زمان اجرا باشد
92
00:03:20,239 –> 00:03:21,519
و بله،
93
00:03:21,519 –> 00:03:23,360
اگر می خواهید
94
00:03:23,360 –> 00:03:25,680
آن را به این ترتیب انجام دهید، می توانید به دنبال دستور pi
95
00:03:25,680 –> 00:03:27,280
96
00:03:27,280 –> 00:03:28,640
project.tunnel باشید.
97
00:03:28,640 –> 00:03:31,360
به ماژولهای x بسیار نزدیک است، این بسیار نزدیک به
98
00:03:31,360 –> 00:03:34,080
محل کارکردن چیزهای c از پسوند واردات ابزارهای راهاندازی است
99
00:03:34,080 –> 00:03:36,360
100
00:03:36,360 –> 00:03:39,680
و در داخل x در داخل مدلهای x
101
00:03:39,680 –> 00:03:42,000
، پسوندی
102
00:03:42,000 –> 00:03:43,760
ایجاد میکنیم که نام ماژول ما هر
103
00:03:43,760 –> 00:03:45,599
چه باشد نامیده میشود، بنابراین ما می خواهیم
104
00:03:45,599 –> 00:03:48,640
hello world go را انجام
105
00:03:48,640 –> 00:03:51,280
دهیم و ما فایل هایی را که
106
00:03:51,280 –> 00:03:53,360
وارد این قسمت می شوند لیست می کنیم، اوه، ما
107
00:03:53,360 –> 00:03:54,720
در اینجا به طور معمول در مورد آنها صحبت می کنیم،
108
00:03:54,720 –> 00:03:56,560
شما می توانید برخی از فایل های c را
109
00:03:56,560 –> 00:03:57,840
در اینجا لیست کنید، اما ما در واقع یک
110
00:03:57,840 –> 00:03:59,840
فایل go را در اینجا لیست می کنیم
111
00:03:59,840 –> 00:04:03,599
سلام. world go.go
112
00:04:03,599 –> 00:04:07,040
و ما به آخرین چیز در این مورد نیاز داریم تا
113
00:04:07,040 –> 00:04:09,519
به ابزارهای setup golang بگوییم کارهای خود را انجام دهد
114
00:04:09,519 –> 00:04:12,799
و آن این است که ما به این
115
00:04:12,799 –> 00:04:14,560
116
00:04:14,560 –> 00:04:16,639
آرگومان کلمه کلیدی ساخت golang um نیاز داریم و ما می خواهیم
117
00:04:16,639 –> 00:04:18,639
ریشه ماژول را به آن بگوییم اکنون این کمی عجیب به نظر می رسد
118
00:04:18,639 –> 00:04:20,000
اگر با شما کار کرده اید،
119
00:04:20,000 –> 00:04:21,839
مثل همیشه بروید آن را
120
00:04:21,839 –> 00:04:23,840
در فضای معمولی بررسی کنید و آن را
121
00:04:23,840 –> 00:04:26,000
در داخل مسیر go خود نصب کنید یا اینکه
122
00:04:26,000 –> 00:04:27,759
یک مود go دارید، ما در واقع
123
00:04:27,759 –> 00:04:30,000
یک مود go را راهاندازی میکنیم زیرا به آن نیاز دارید و 116
124
00:04:30,000 –> 00:04:31,120
و بالاتر بروید،
125
00:04:31,120 –> 00:04:32,960
اما معمولاً نیازی به آن ندارید.
126
00:04:32,960 –> 00:04:34,560
نام ماژول خود را در بسیاری از
127
00:04:34,560 –> 00:04:36,639
مکانها تکرار کنید، بنابراین این
128
00:04:36,639 –> 00:04:38,960
فقط کمی تاریخچه تاسف بار است،
129
00:04:38,960 –> 00:04:40,639
فکر میکنم در واقع میتوانم آن را حذف کنم
130
00:04:40,639 –> 00:04:44,320
که go 116 به یک فایل go mod نیاز دارد
131
00:04:44,320 –> 00:04:46,400
و من احتمالاً میتوانم آن را از آنجا دریافت کنم
132
00:04:46,400 –> 00:04:47,280
،
133
00:04:47,280 –> 00:04:50,400
اما در حال حاضر این هنوز لازم است
134
00:04:50,400 –> 00:04:51,840
و برای ریشه ما فضای نام وارد کردن ریشه خود را انجام می دهیم،
135
00:04:51,840 –> 00:04:53,840
بنابراین بیایید بگوییم
136
00:04:53,840 –> 00:04:56,639
github.com اسلش acetilityslash
137
00:04:56,639 –> 00:04:59,280
سلام دنیا برو و شما آن را به
138
00:04:59,280 –> 00:05:01,199
هر چیزی که ماژول شما باشد در
139
00:05:01,199 –> 00:05:03,039
هر مکانی که من واقعاً نیستم نامگذاری کنید.
140
00:05:03,039 –> 00:05:04,720
قرار است این را مستقیماً در github قرار
141
00:05:04,720 –> 00:05:06,080
دهم،
142
00:05:06,080 –> 00:05:09,120
در نهایت در مخزن توضیح
143
00:05:09,120 –> 00:05:11,440
که در آن نمونههای کد بهروزرسانی میشوند ظاهر میشود، اما من
144
00:05:11,440 –> 00:05:12,560
آن را در این مکان خاص آپلود
145
00:05:12,560 –> 00:05:14,720
146
00:05:14,720 –> 00:05:17,280
نمیکنم، بنابراین خیلی مهم نیست
147
00:05:17,280 –> 00:05:19,759
که این مسیر چیست. می تواند واقعی باشد
148
00:05:19,759 –> 00:05:21,759
هر نوع مقداری را که می خواهید به
149
00:05:21,759 –> 00:05:23,680
آن بدهید، مگر اینکه در
150
00:05:23,680 –> 00:05:26,479
داخل کد خود را به صورت داخلی وارد کنید و سپس
151
00:05:26,479 –> 00:05:27,919
باید همان مسیر وارداتی باشد که از آن وارد می کنید،
152
00:05:27,919 –> 00:05:29,520
153
00:05:29,520 –> 00:05:31,680
اما این setup اصلی ما است. ما
154
00:05:31,680 –> 00:05:35,120
همچنین قصد داریم یک راه را اضافه کنیم. فایل mod و شما
155
00:05:35,120 –> 00:05:38,080
می توانید این کار را با انجام go mod init انجام دهید
156
00:05:38,080 –> 00:05:39,680
و
157
00:05:39,680 –> 00:05:42,240
اوه نمی توانید
158
00:05:42,240 –> 00:05:44,000
اوه درست را تعیین کنید، باید مسیر go را به آن بگویید
159
00:05:44,000 –> 00:05:46,080
زیرا من در آن نیستم، داخل
160
00:05:46,080 –> 00:05:48,080
مسیر go خود نیستم و ما فقط می خواهیم انتخاب کنیم.
161
00:05:48,080 –> 00:05:50,000
همین مورد اینجاست
162
00:05:50,000 –> 00:05:52,800
و باعث میشود فایل go.mod ما
163
00:05:52,800 –> 00:05:54,400
چیزی شبیه به این
164
00:05:54,400 –> 00:05:55,919
باشد و هر نسخه از go را که در اینجا استفاده میکنید را خواهد داشت، حالا
165
00:05:55,919 –> 00:05:57,680
166
00:05:57,680 –> 00:05:59,919
167
00:05:59,919 –> 00:06:03,360
باید ساختار ماژول واقعی را تنظیم
168
00:06:03,360 –> 00:06:06,000
کنیم، متأسفانه نمیتوانیم
169
00:06:06,000 –> 00:06:09,039
بنویسیم. همه کدها مستقیماً در حال حرکت هستند،
170
00:06:09,039 –> 00:06:12,960
زیرا go
171
00:06:12,960 –> 00:06:14,960
برخی از عملکردهای اصلی c را ندارد، به
172
00:06:14,960 –> 00:06:16,800
ویژه وضوح تصویر ماکرو را از دست داده
173
00:06:16,800 –> 00:06:19,840
است، بنابراین اگر مانند
174
00:06:19,840 –> 00:06:21,199
a
175
00:06:21,199 –> 00:06:22,960
دارید، یک ماکرو c را می شناسید که چیزی را تعریف می
176
00:06:22,960 –> 00:06:24,479
کند که قرار نیست
177
00:06:24,479 –> 00:06:26,720
گسترش یابد و بروید بنابراین این کار را انجام نمی دهد. در
178
00:06:26,720 –> 00:06:28,639
مورد ماکروها می داند و از توابع متغیر نمی داند
179
00:06:28,639 –> 00:06:30,240
180
00:06:30,240 –> 00:06:32,000
روش خوبی برای نشان دادن توابعی که
181
00:06:32,000 –> 00:06:34,639
تعداد آرگومان های دلخواه را می گیرند، ندارد،
182
00:06:34,639 –> 00:06:36,400
یک مثال از یک تابع متغیر
183
00:06:36,400 –> 00:06:37,919
که ممکن است با آن آشنا باشید و c
184
00:06:37,919 –> 00:06:40,479
printf است که می تواند هر تعداد
185
00:06:40,479 –> 00:06:41,520
آرگومان را
186
00:06:41,520 –> 00:06:44,960
برای ما بگیرد، این بیشتر بر تاپل تجزیه pi arg ما تأثیر می گذارد.
187
00:06:44,960 –> 00:06:47,199
تابعی است که چگونه
188
00:06:47,199 –> 00:06:49,280
آرگومانها را از um python c تجزیه و تحلیل میکنیم،
189
00:06:49,280 –> 00:06:50,479
190
00:06:50,479 –> 00:06:51,440
191
00:06:51,440 –> 00:06:54,000
192
00:06:54,000 –> 00:06:55,680
بنابراین متأسفانه باید یک
193
00:06:55,680 –> 00:06:58,080
فایل c کوچک در اینجا بسازیم و
194
00:06:58,080 –> 00:06:59,759
با انجام اولین
195
00:06:59,759 –> 00:07:02,240
hello world
196
00:07:02,240 –> 00:07:05,440
c naught یا hello world برو نقطه c را به
197
00:07:05,440 –> 00:07:06,319
سمت راست
198
00:07:06,319 –> 00:07:07,919
و این شروع میکنیم. بسیار شبیه به یک
199
00:07:07,919 –> 00:07:09,199
200
00:07:09,199 –> 00:07:11,440
نرمافزار معمولی خواهد بود، شما میدانید که شما میخواهید یک اکستنشن c را داشته باشید.
201
00:07:11,440 –> 00:07:14,639
202
00:07:14,639 –> 00:07:16,720
203
00:07:16,720 –> 00:07:18,080
204
00:07:18,080 –> 00:07:20,160
205
00:07:20,160 –> 00:07:21,680
206
00:07:21,680 –> 00:07:23,120
توابع امروز یکی
207
00:07:23,120 –> 00:07:25,759
از آنها یک تابع سیم کارت
208
00:07:25,759 –> 00:07:27,680
خواهد بود که دو
209
00:07:27,680 –> 00:07:30,160
عدد را می گیرد و آنها را با هم جمع می کند
210
00:07:30,160 –> 00:07:32,160
فقط یک مثال احمقانه است
211
00:07:32,160 –> 00:07:34,400
و ما همچنین یک تابع hello اضافه می کنیم
212
00:07:34,400 –> 00:07:36,000
213
00:07:36,000 –> 00:07:37,280
214
00:07:37,280 –> 00:07:39,120
که فقط یکی
215
00:07:39,120 –> 00:07:41,919
را نمی دانم می گیرد. stri ng و
216
00:07:41,919 –> 00:07:43,759
آن را الحاق کنید و بروید و یک چیز جدید را تف کنید،
217
00:07:43,759 –> 00:07:45,199
بنابراین ما می خواهیم اینها را
218
00:07:45,199 –> 00:07:47,840
اینجا تعریف کنیم یا
219
00:07:47,840 –> 00:07:50,080
اینها را اینجا تعریف می کنیم و آنها را تعریف می
220
00:07:50,080 –> 00:07:53,280
کنیم و بعداً می رویم
221
00:07:53,280 –> 00:07:55,120
همانطور که قبلاً گفتم چند
222
00:07:55,120 –> 00:07:56,479
چیز وجود دارد که ما ‘نمیتوان
223
00:07:56,479 –> 00:07:58,720
مستقیماً انجام داد و رفت و اولین
224
00:07:58,720 –> 00:08:01,919
مورد تجزیه آرگومانها است
225
00:08:01,919 –> 00:08:04,000
زیرا معبد تجزیه pi arg یک
226
00:08:04,000 –> 00:08:05,520
تابع متغیر است بنابراین ما قصد داریم
227
00:08:05,520 –> 00:08:07,520
یک نسخه تخصصی از آن را در
228
00:08:07,520 –> 00:08:10,000
کد کمکی c تعریف کنیم که میتوانیم آن را فراخوانی کنیم. از
229
00:08:10,000 –> 00:08:11,120
برو
230
00:08:11,120 –> 00:08:15,199
و تاپل تجزیه ما را پایی کنیم، بنابراین اگر
231
00:08:15,199 –> 00:08:16,800
تابع جمع خود را انجام دهیم، این
232
00:08:16,800 –> 00:08:18,720
دو طول میکشد و این یک
233
00:08:18,720 –> 00:08:20,800
متغیر یونیکد میگیرد، بنابراین ما میخواهیم
234
00:08:20,800 –> 00:08:25,360
تعریف کنیم که هر دوی آنها را میدانید که
235
00:08:25,520 –> 00:08:26,800
به این ترتیب بهتر کار میکنند.
236
00:08:26,800 –> 00:08:28,080
237
00:08:28,080 –> 00:08:29,680
238
00:08:29,680 –> 00:08:31,360
من فکر میکنم این کار درستی است، بیایید
239
00:08:31,360 –> 00:08:34,958
دوباره بررسی کنیم که python c apa pi arg
240
00:08:34,958 –> 00:08:37,679
اولین تاپل
241
00:08:37,679 –> 00:08:39,440
ما میخواهیم به آرگومانهای قالببندی درست در اینجا نگاه
242
00:08:39,440 –> 00:08:41,519
243
00:08:41,519 –> 00:08:44,640
244
00:08:45,360 –> 00:08:47,200
کنیم، خوب ما به s برای بعداً
245
00:08:47,200 –> 00:08:48,640
اشیاء یونیکد نیاز داریم. محاسبه شده
246
00:08:48,640 –> 00:08:50,480
با استفاده از utf-8 به رشته تبدیل شده است، بنابراین
247
00:08:50,480 –> 00:08:52,320
ما در حال رفتن هستیم ng به این نیاز داریم،
248
00:08:52,320 –> 00:08:54,480
بنابراین ما میخواهیم انجام دهیم و
249
00:08:54,480 –> 00:08:58,480
تاپلها را تجزیه
250
00:08:58,560 –> 00:08:59,360
251
00:08:59,360 –> 00:09:02,080
252
00:09:02,080 –> 00:09:04,800
253
00:09:04,800 –> 00:09:07,880
کنیم و این آرگهای ستارهای را در i شیء ما میگیرد و ما یک ستاره کر
254
00:09:07,880 –> 00:09:10,000
[موسیقی]
255
00:09:10,000 –> 00:09:13,519
ستاره یا ستاره
256
00:09:13,760 –> 00:09:16,080
اوم
257
00:09:17,360 –> 00:09:20,680
، فکر میکنم
258
00:09:24,560 –> 00:09:28,160
بله، فکر میکنم این همان چیزی است که ما می خواهیم،
259
00:09:28,160 –> 00:09:30,399
ین یک نشانگر ستاره مراقبت بر
260
00:09:30,399 –> 00:09:32,080
ی ما اختصاص می دهد و د
261
00:09:32,080 –> 00:09:33,680
واقع آیا باید این را آزاد کنیم آن
262
00:09:33,680 –> 00:09:36,720
ه در اینجا می
263
00:09:36,720 –> 00:09:38,000
وید به ما نمی گوید که آیا باید آن را آز
264
00:09:38,000 –> 00:09:40,720
د کنیم یا نه، پس صب
265
00:09:41,839 –> 00:09:44,240
کنید ساختار بافر دایره ای را پر می کن
266
00:09:44,240 –> 00:09:46,320
. توسط تماس گیرنده بافر پای چیست
267
00:09:46,320 –> 00:09:48,720
268
00:09:48,880 –> 00:09:50,080
um
269
00:09:50,080 –> 00:09:52,240
[موسیقی]
270
00:09:52,240 –> 00:09:54,560
hmm
271
00:09:59,120 –> 00:10:01,839
این چگونه کار می کند
272
00:10:01,839 –> 00:10:04,160
دو متغیر c
273
00:10:04,160 –> 00:10:05,839
خوب است، من فکر می کنم این احتمالا همان چیزی است که ما
274
00:10:05,839 –> 00:10:08,399
می خواهیم در عوض ما می خواهیم s
275
00:10:08,399 –> 00:10:10,160
uh
276
00:10:10,160 –> 00:10:11,839
که octathorp است، بنابراین
277
00:10:11,839 –> 00:10:15,519
یک نشانگر ستاره ثابت
278
00:10:15,519 –> 00:10:17,200
و
279
00:10:17,200 –> 00:10:19,839
اندازه
280
00:10:20,720 –> 00:10:23,120
t i را پر می کند اندازه t اندازه
281
00:10:23,120 –> 00:10:24,480
ستاره
282
00:10:24,480 –> 00:10:25,760
283
00:10:25,760 –> 00:10:28,000
و ما اساساً
284
00:10:28,000 –> 00:10:29,360
با
285
00:10:29,360 –> 00:10:31,360
معبد آیه خود برمی گردیم
286
00:10:31,360 –> 00:10:34,240
و آن را با args و
287
00:10:34,240 –> 00:10:35,760
s و
288
00:10:35,760 –> 00:10:37,680
etr و اندازه صدا
289
00:10:37,680 –> 00:10:38,720
290
00:10:38,720 –> 00:10:40,000
می زنیم بنابراین به طور معمول می توانیم
291
00:10:40,000 –> 00:10:41,680
مستقیماً این را صدا کنیم و برویم اما دوباره
292
00:10:41,680 –> 00:10:43,360
برویم. نمیدانیم که این تابع
293
00:10:43,360 –> 00:10:45,200
متغیر است، بنابراین نمیتوانیم کاری را انجام دهیم که
294
00:10:45,200 –> 00:10:46,959
میخواهیم یک si را انجام دهیم چیز مهمی برای من فکر
295
00:10:46,959 –> 00:10:49,680
میکنم اجازه میدهد اینجا را دوباره بررسی
296
00:10:49,680 –> 00:10:52,399
کنم. من فکر میکنم طولانی است عدد سمت راست.
297
00:10:52,399 –> 00:10:56,000
298
00:10:56,000 –> 00:10:58,720
299
00:10:58,720 –> 00:11:01,040
300
00:11:01,040 –> 00:11:01,839
301
00:11:01,839 –> 00:11:03,260
302
00:11:03,260 –> 00:11:04,720
303
00:11:04,720 –> 00:11:08,399
304
00:11:09,279 –> 00:11:11,519
pi arg را بچرخانید،
305
00:11:11,519 –> 00:11:13,279
بنابراین اگر تا به حال متوجه نشده اید،
306
00:11:13,279 –> 00:11:14,720
کار زیادی برای راه اندازی اینها وجود دارد
307
00:11:14,720 –> 00:11:15,760
،
308
00:11:15,760 –> 00:11:19,200
عمدتاً باید همه این
309
00:11:19,200 –> 00:11:21,360
توابع c را انجام دهید تا آن را درست کنید
310
00:11:21,360 –> 00:11:23,839
تا کار کردن و رفتن آسان باشد
311
00:11:23,839 –> 00:11:26,160
و همچنین می توانید این کار را انجام دهید. ماژول خود را تنظیم کنید
312
00:11:26,160 –> 00:11:27,600
313
00:11:27,600 –> 00:11:28,959
من در واقع فقط یکی را کپی و
314
00:11:28,959 –> 00:11:31,600
جایگذاری می کنم که در اینجا
315
00:11:31,600 –> 00:11:33,760
دارم و ما دو تابع خود را اینجا اضافه می
316
00:11:33,760 –> 00:11:36,560
317
00:11:36,720 –> 00:11:38,560
کنیم باید اینها را به درستی در
318
00:11:38,560 –> 00:11:39,279
اینجا سفارش دهید،
319
00:11:39,279 –> 00:11:41,120
اما این اساساً
320
00:11:41,120 –> 00:11:43,920
تنظیم ماژول استانداردی است که شما استفاده می کنید برای
321
00:11:43,920 –> 00:11:46,079
یک پسوند c
322
00:11:46,079 –> 00:11:47,839
و دوباره اینها در حال حرکت نیز در دسترس
323
00:11:47,839 –> 00:11:51,680
نیستند زیرا این ساختار um
324
00:11:51,680 –> 00:11:53,360
oh این ساختار در دسترس است این
325
00:11:53,360 –> 00:11:55,200
از طریق typedef در دسترس است اما این
326
00:11:55,200 –> 00:11:56,800
یک ماکرو است
327
00:11:56,800 –> 00:11:59,040
و این یک ماکرو است بنابراین
328
00:11:59,040 –> 00:12:01,040
ما چیزهای مهم زیادی را از دست می دهیم
329
00:12:01,040 –> 00:12:03,600
قطعات وجود دارد
330
00:12:03,600 –> 00:12:04,959
و ما قصد داریم نام آن را تغییر دهیم سلام
331
00:12:04,959 –> 00:12:07,440
دنیا برو
332
00:12:07,440 –> 00:12:08,839
و سلام
333
00:12:08,839 –> 00:12:10,880
دنیا برو
334
00:12:10,880 –> 00:12:13,519
دنیا برو باشه و این باید تمام چیزی باشد
335
00:12:13,519 –> 00:12:16,560
که ما از یاور کوچکمان در اینجا نیاز داریم.
336
00:12:16,560 –> 00:12:18,480
من متوجه شده ام که گاهی اوقات شما نیاز دارید
337
00:12:18,480 –> 00:12:20,639
که اینها را به عنوان خارجی علامت گذاری کنید،
338
00:12:20,639 –> 00:12:22,880
339
00:12:23,040 –> 00:12:24,959
شاید در اینجا نه جایی که باید
340
00:12:24,959 –> 00:12:26,959
آنها را به عنوان خارجی علامت گذاری کنید. فکر
341
00:12:26,959 –> 00:12:29,760
نمیکنم اینجا باشد،
342
00:12:29,760 –> 00:12:31,040
چون نمیدانم برخی از
343
00:12:31,040 –> 00:12:33,360
کامپایلرها بهخصوص در سیستمعاملهای مک کمی مشکل دارند، بنابراین
344
00:12:33,360 –> 00:12:35,839
با علامتگذاری
345
00:12:35,839 –> 00:12:38,079
نمونههای اولیه خود بهعنوان خارجی درگیر کمانچه هستند، زیرا آنها
346
00:12:38,079 –> 00:12:40,399
در نهایت به هم مرتبط میشوند، اما به هر حال
347
00:12:40,399 –> 00:12:42,720
فکر میکنم این تنها چیزی است که ما نیاز داریم. برای این بخش
348
00:12:42,720 –> 00:12:44,560
در اینجا و اکنون ما آماده هستیم تا شروع به
349
00:12:44,560 –> 00:12:46,880
نوشتن کد go خود کنیم، در واقع
350
00:12:46,880 –> 00:12:48,720
این را روی صفحه دیگر قرار
351
00:12:48,720 –> 00:12:52,000
می دهم زیرا ممکن است در یک ثانیه به آن نیاز داشته باشیم، اوه
352
00:12:52,000 –> 00:12:54,480
ما می خواهیم بنویسیم سلام دنیاها
353
00:12:54,480 –> 00:12:55,440
برو
354
00:12:55,440 –> 00:12:57,360
خدای من چرا می توانم بنویسم چرا نمی توانم
355
00:12:57,360 –> 00:12:58,480
356
00:12:58,480 –> 00:13:00,000
امروز جهان
357
00:13:00,000 –> 00:13:01,200
را به درستی بنویسم و بنابراین وقتی ما
358
00:13:01,200 –> 00:13:02,320
359
00:13:02,320 –> 00:13:04,160
ول go خود را در اینجا تعریف می کنید، آن
360
00:13:04,160 –> 00:13:06,480
ا در بسته اصلی ان
361
00:13:06,480 –> 00:13:07,760
362
00:13:07,760 –> 00:13:08,959
ام می دهید و یک تابع مقداردهی اولیه بر
363
00:13:08,959 –> 00:13:10,320
ی آن خواهید داشت. مین که فقط
364
00:13:10,320 –> 00:13:13,120
هیچ کاری نمی کند s زمانی اتفاق میافتد
365
00:13:13,120 –> 00:13:14,800
که شی اشتراکگذاری اولیه شود
366
00:13:14,800 –> 00:13:15,760
و معمولاً نیازی به انجام
367
00:13:15,760 –> 00:13:17,519
کاری برای آن
368
00:13:17,519 –> 00:13:19,680
نیست، اما کامپایلر go میخواهد این کار را
369
00:13:19,680 –> 00:13:21,279
در اینجا
370
00:13:21,279 –> 00:13:22,320
انجام دهیم، بنابراین اکنون میخواهیم
371
00:13:22,320 –> 00:13:24,160
دو تابع خود را که قبلاً ذکر کردیم تعریف کنیم.
372
00:13:24,160 –> 00:13:26,240
اوه اما ابتدا باید
373
00:13:26,240 –> 00:13:28,720
یک چیز خاصی به نام c وارد کنیم
374
00:13:28,720 –> 00:13:29,920
و این
375
00:13:29,920 –> 00:13:31,839
376
00:13:31,839 –> 00:13:32,720
377
00:13:32,720 –> 00:13:35,040
رفتار c go خاص را ایجاد می کند که به شما امکان می دهد
378
00:13:35,040 –> 00:13:37,600
توابع c و رابط را با go فراخوانی کنید
379
00:13:37,600 –> 00:13:40,320
و نحوه عملکرد c go بسیار
380
00:13:40,320 –> 00:13:43,519
نادرست است.
381
00:13:43,519 –> 00:13:46,079
382
00:13:46,079 –> 00:13:50,079
آن
383
00:13:50,079 –> 00:13:51,839
و ماشین کامپایلر go آنها را میخوانند
384
00:13:51,839 –> 00:13:53,920
و آن نمادها را در دسترس قرار میدهند،
385
00:13:53,920 –> 00:13:56,800
بنابراین ما فقط میخواهیم python.h را
386
00:13:56,800 –> 00:13:57,600
در اینجا
387
00:13:57,600 –> 00:13:59,600
قرار دهیم و همچنین این دو
388
00:13:59,600 –> 00:14:04,160
نمونه اولیه را تعریف میکنیم تا بتوانیم آنها را نیز در
389
00:14:04,160 –> 00:14:05,440
390
00:14:05,440 –> 00:14:07,360
go فراخوانی کنیم. هر
391
00:14:07,360 –> 00:14:08,720
دوی اینها را اینجا تعریف میکنیم
392
00:14:08,720 –> 00:14:10,959
و
393
00:14:10,959 –> 00:14:13,760
این اندازه t یک
394
00:14:13,760 –> 00:14:16,480
f تایپشده است نه یک ماکرو، بنابراین اگر کار نکرد، خوب
395
00:14:16,480 –> 00:14:18,320
است که اینجا کار کنیم،
396
00:14:18,320 –> 00:14:20,800
آن را به پایان تغییر میدهیم و در واقع
397
00:14:20,800 –> 00:14:23,199
من کمکی به آن کردم. go که
398
00:14:23,199 –> 00:14:25,680
معادل typedef را var کرد iable
399
00:14:25,680 –> 00:14:27,519
ها