锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产专区校园欧美,亚洲高清视频一区二区,国产精品人人做人人爽人人添http://m.shnenglu.com/Streamlet/鑽掑簾涓紝姹傝閱拁zh-cnSun, 16 Nov 2025 00:10:03 GMTSun, 16 Nov 2025 00:10:03 GMT60寤虹珛涓涓畝鍗曞共鍑鐨?gn+ninja 宸ュ叿閾?/title><link>http://m.shnenglu.com/Streamlet/archive/2022/11/06/229483.html</link><dc:creator>婧祦</dc:creator><author>婧祦</author><pubDate>Sat, 05 Nov 2022 18:05:00 GMT</pubDate><guid>http://m.shnenglu.com/Streamlet/archive/2022/11/06/229483.html</guid><wfw:comment>http://m.shnenglu.com/Streamlet/comments/229483.html</wfw:comment><comments>http://m.shnenglu.com/Streamlet/archive/2022/11/06/229483.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Streamlet/comments/commentRss/229483.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Streamlet/services/trackbacks/229483.html</trackback:ping><description><![CDATA[ <h2>鑳屾櫙</h2> <p>浜嬫儏鐨勮搗鍥犳槸錛屾兂鎵句釜璺?Windows 鍜?Mac 鐨勬瀯寤烘柟妗堛傜涓鑰冭檻鑷劧鏄?CMake錛屾瘯绔熷熀鏈笂鏄簨瀹炴爣鍑嗕簡銆?/p> <p>浣嗘槸鐮旂┒浜嗕竴涓?Modern CMake錛屼篃灝辨槸浠?target 涓烘牳蹇冪殑鐞嗗康銆備絾鍙戠幇鐪嬩簡濂藉嚑澶╂枃妗o紝涔熸姌鑵懼嚭浜嗗彲鐢ㄧ殑涓滆タ錛屼絾浠嶇劧鏄病姊崇悊娓呮浠涔堢悊蹇點佸師鐞嗐傜劧鍚?CMake 鏈韓璇硶灝卞緢澶嶆潅錛屽啀鍔犱笂鎼?target 涓濂楁蹇碉紝瑕佺粰 target 璁劇疆鍚勭灞炴т箣綾葷殑錛屾湁鐐瑰己琛?OOP 鐨勬劅瑙夆︹︿絾鍏跺疄鎴戜滑鍙槸闇瑕佷竴涓?include_dir 鍜?lib_dir 鑰屽凡錛屽叾浠栭兘鏄誕浜憕</p> <p>浣嗗鏋滈鍥炲埌浼犵粺妯″紡錛屼笉鐢?Modern 姒傚康鍛紝濂藉儚鍙互灝嗗氨錛屼絾絎竴涓嶅幓鐢ㄤ竴涓伐鍏風殑鏈鏂版ā寮忥紝濂藉儚鏈夌偣涓嶄笂榪涚殑鎰熻錛坧ython 2 闄ゅ錛夛紱絎簩錛孋Make 鐨勪袱澶х棝鐐光斺旇娉曠壒绔嬬嫭琛屻佹枃妗f櫐娑╅毦鎳傗斺旇繕鏄浜烘湁鐐逛笉鐖姐?/p> <p>閭h煩鍑烘潵鐪嬪埆鐨勯夋嫨鍛紵鐩墠鐩稿鎴愮啛鐨勪篃鍙湁 Google 鐨?gn+ninja 鏂規浜嗐俫n 榪欏涓滆タ鍦?Chromium 閲屾槸瀹屽叏閰嶇疆濂界殑錛岀敤璧鋒潵榪樼畻欏烘墜錛屼絾瑕佹槸鐙珛鎷垮嚭鏉ュ憿錛屽氨娌¢偅涔堜究瀹滀簡銆傚叧閿槸瀹冪殑 toolchain 鏄鑷繁瀹氫箟鐨勩?/p> <p>涔嬪墠榪樺湪鍏徃鎼炲鎴風鐨勬椂鍊欙紝澶у灝變粠 Chromium 閲岄潰鎶?build銆乥uild_overrides 絳夌瓑涓滆タ鍏ㄩ儴鎷峰嚭鏉ワ紝濂藉浼欙紝鍑犵櫨 MB 鐢氳嚦涓?G銆備絾鏄叕鍙擱噷鍢涳紝娌′漢綆″共涓嶅共鍑錛屾庝箞蹇庝箞鏉ャ傚悗鏉ュ張鐪嬪埌 Google 鑷鐨?Crashpad 閲岄潰涔熺敤浜嗚繖濂楁瀯寤猴紝浣嗗伐鍏烽摼琚畝鍖栦簡涓涓嬶紝鍙?mini_chromium銆傝繖涓瘮 Chromium 閲岀殑灝忓浜嗭紝鏄彲浠ユ嬁榪囨潵鐩存帴鐢ㄧ殑錛岀己灝戜竴浜涢厤緗彲浠ヨ嚜宸卞姞銆備絾鏄憿錛屽儚鎴戜滑榪欑媧佺櫀錛屼粛鐒舵槸鍙椾笉楦熺殑銆傛墍浠ュ憿錛屾垜浠騫插共鍑鍑鐨勫緩绔嬩竴濂楀伐鍏烽摼銆?/p> <h2>鏋勫緩緋葷粺瀹夎</h2> <p>棣栧厛錛屾垜浠槑紜畾浣嶃俫n 鍜?ninja 閮芥槸寮鍙戞満涓婇渶瑕侀瑁呯殑錛屼笉鏄蔣浠舵彁渚涚殑銆侰hromium 鐨勬悶娉曟槸鑷繁鎻愪緵錛実n 鐨勬枃妗d篃璇磋寮鍙戣呮彁渚涘伐鍏楓備絾榪欏鎬濊礬璺熶紶緇熺殑鐞嗗康鏄啿紿佺殑銆傚悓鏃訛紝鑷繁瀹夎宸ュ叿鎴愭湰鏄瘮杈冧綆鐨勶細</p> <ul> <li>linux <ul> <li>ninja 鍦ㄤ富嫻佸寘綆$悊緋葷粺閲屽凡緇忔湁浜嗭紝鍖呭悕鍙兘鏄?ninja 鎴?ninja-build錛岀洿鎺ュ畨瑁呭氨鍙互</li> <li>gn 鍦ㄩ儴鍒嗗寘綆$悊緋葷粺鏈夛紝灝濊瘯鍖呭悕 gn 鎴?gn-build 絳夛紝娌℃湁鐨勮瘽鍙互涓嬭澆<a >浜岃繘鍒剁増鏈?/a>錛屾垨鑰呬粠婧愪唬鐮佽嚜琛岀紪璇?/li> </ul> </li> <li>mac <ul> <li>ninja 鍦?brew 閲屽寘鍚嶅彨 ninja錛屽湪 MacPorts 閲屽寘鍚嶅彨 ninja-build</li> <li>gn 鍦?brew 閲屾病鏈夛紝鍙互涓嬭澆<a >浜岃繘鍒剁増鏈?/a>錛涘湪 MacPorts 閲屽彨 gn-devel</li> </ul> </li> <li>win <ul> <li>ninja 鍙互鍦?<a >GitHub</a> 涓嬭澆浜岃繘鍒剁増鏈紝gn 鍙互鍦?gn 瀹樼綉涓嬭澆<a >浜岃繘鍒剁増鏈?/a></li> </ul> </li> </ul> <p>鑷繁涓嬭澆鐨勮緗埌 PATH錛屾祴璇?<code>gn --version</code> 浠ュ強 <code>ninja --version</code>錛岃兘榪愯鍗沖彲</p> <h2>鐩爣</h2> <p>甯屾湜鍋氬埌鎻愪緵涓涓?git repo錛屼嬌鐢ㄨ?clone 鍒拌嚜宸遍」鐩殑 build 鐩綍錛岀劧鍚庝嬌鐢ㄨ呭彧瑕佸湪 .gn 鏂囦歡閲岄厤緗?/p> <pre><code class="language-gn">buildconfig = "//build/BUILDCONFIG.gn" </code></pre> <p>灝卞彲浠ヤ嬌鐢ㄦ垜浠彁渚涚殑宸ュ叿閾撅紝鍦?PC 涓夌榪涜鏋勫緩銆?/p> <p>浣跨敤鑰呯殑鍞竴璐熸媴灝辨槸緙栧啓鑷繁鐨?BUILD.gn</p> <h2>宸ュ叿閾炬惌寤?/h2> <p>棣栧厛鎴戜滑鐪?gn 鐨勬枃妗o紝浠ュ強瀹冪殑渚嬬▼ simple_build 閲岀殑宸ュ叿閾鵑厤緗細</p> <p>https://gn.googlesource.com/gn/+/HEAD/examples/simple_build/build/toolchain/BUILD.gn</p> <p>榪欎釜鏄彲浠ョ洿鎺ョ敤鐨勶紝鍙笉榪囧彧鏈?linux 绔紙褰撶劧 mac 涔熻兘鐢級銆傛垜浠啀緇撳悎 chrome 閲岀殑宸ュ叿閾鵑厤緗紝榪涜涓浜涘畬鍠勩?/p> <h3>鍩虹姒傚康</h3> <p>棣栧厛鎴戜滑浜嗚В gn 浣撶郴闇瑕佺殑鏈灝忛厤緗槸浠涔堛?/p> <p>絎竴錛屽畠闇瑕佸湪鏍圭洰褰曞啓涓涓?.gn 鏂囦歡錛屽湪閲岄潰瀹氫箟 buildconfig錛屾寚鍒板彟涓涓枃浠訛紝涓鑸槸</p> <pre><code class="language-gn">buildconfig = "//build/BUILDCONFIG.gn" </code></pre> <p>絎簩銆丅UILDCONFIG.gn 閲岄潰闇瑕佽緗粯璁ゅ伐鍏烽摼錛屼篃灝辨槸鍐欎竴琛?/p> <pre><code class="language-gn">set_default_toolchain("//build/toolchain:gcc") </code></pre> <p>絎笁銆佸畾涔夊伐鍏烽摼錛屽涓婁緥鐨?//build/toolchain:gcc銆?/p> <p>闇瑕佸湪 build/toolchain 涓嬪緩绔?BUILD.gn 鏂囦歡錛屽唴瀹規槸</p> <pre><code>toolchain("gcc") { # ... } </code></pre> <p>鏈鍚庡湪 toolchain 閲屽畾涔夊悇縐?tool銆?/p> <h3>宸ュ叿閾句腑鐨勫伐鍏?/h3> <p>榪欓儴鍒嗘枃妗e湪榪欓噷錛歨ttps://gn.googlesource.com/gn/+/main/docs/reference.md#func_tool</p> <p>綆鍗曞榪頒竴涓嬶紝鍙瀹氫箟鐨勫伐鍏鋒湁錛?/p> <ul> <li>緙栬瘧宸ュ叿:<br /> "cc": C 緙栬瘧鍣?br /> "cxx": C++ 緙栬瘧鍣?br /> "cxx_module": 鏀寔 module 鐨?C++ 緙栬瘧鍣?br /> "objc": Objective C 緙栬瘧鍣?br /> "objcxx": Objective C++ 緙栬瘧鍣?br /> "rc": Windows 璧勬簮鑴氭湰緙栬瘧鍣?br /> "asm": 姹囩紪鍣?br /> "swift": Swift 緙栬瘧鍣?/li> <li>閾炬帴宸ュ叿:<br /> "alink": 闈欐佸簱閾炬帴鍣?br /> "solink": 鍔ㄦ佸簱閾炬帴鍣?br /> "link": 鍙墽琛屾枃浠墮摼鎺ュ櫒</li> </ul> <p>錛堝叾浠栫殑灝卞厛涓嶇湅浜嗭級</p> <p>鎴戜滑鏉ョ湅涓涓?https://gn.googlesource.com/gn/+/HEAD/examples/simple_build/build/toolchain/BUILD.gn 鐨勪竴浜涘叧閿厤緗細</p> <pre><code class="language-gn">toolchain("gcc") { tool("cc") { command = "gcc -MMD -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {{cflags_c}} -c {{source}} -o {{output}}" outputs = [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ] # ... } tool("cxx") { command = "g++ -MMD -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}} -c {{source}} -o {{output}}" outputs = [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ] # ... } tool("alink") { command = "rm -f {{output}} && ar rcs {{output}} {{inputs}}" outputs = [ "{{target_out_dir}}/{{target_output_name}}{{output_extension}}" ] # ... } tool("solink") { command = "g++ -shared {{ldflags}} -o $sofile $os_specific_option @$rspfile" outputs = [ sofile ] # ... } tool("link") { command = "g++ {{ldflags}} -o $outfile -Wl,--start-group @$rspfile {{solibs}} -Wl,--end-group {{libs}}" outputs = [ outfile ] # ... } tool("stamp") { command = "touch {{output}}" } tool("copy") { command = "cp -af {{source}} {{output}}" } } </code></pre> <p>鍙互鐪嬪埌錛宑c 鍜?cxx 鎵ц command 鍚庯紝鐢熸垚 .o 鏂囦歡錛岀劧鍚庤繖浜?.o 鏂囦歡鍙互浣滀負 alink銆乻olink銆乴ink 鐨?inputs錛岃瀹冧滑 command 緇х畫浣跨敤錛屾渶鍚庤緭鍑洪潤鎬佸簱銆佸姩鎬佸簱浠ュ強鍙墽琛屾枃浠躲?/p> <p>鍏朵綑灞炴у彲浠ユ煡鏂囨。浜嗚В鍚箟銆?/p> <h3>瀵規瘮 Chromium 涓殑閰嶇疆</h3> <h4>Linux</h4> <p>涓昏閰嶇疆鍦ㄨ繖閲岋細https://source.chromium.org/chromium/chromium/src/+/main:build/toolchain/gcc_toolchain.gni</p> <p>涔熸槸 gcc 鐨勶紝涓?simple_build 閲岀殑澶у悓灝忓紓錛屾病鏈夌壒鍒殑銆?/p> <h4>Mac</h4> <p>涓昏閰嶇疆鍦ㄨ繖閲岋細https://source.chromium.org/chromium/chromium/src/+/main:build/toolchain/apple/toolchain.gni</p> <p>鍖哄埆鏈夛細</p> <ul> <li>鐢?clang 緋誨垪緙栬瘧宸ュ叿錛岃屼笉鏄?gcc</li> <li>alink 涓嶆槸鐢?ar錛岃屼嬌鐢?libtool</li> <li>solink 鐨勯粯璁ゆ墿灞曞悕鏀規垚浜?dylib</li> <li>鐢ㄤ簡涓涓?linker_driver.py 鏉ユ敮鎸佺敓鎴?dSYM錛屽湪閲岄潰璋冪敤浜?dsymutil 鍜?strip</li> </ul> <h4>Win</h4> <ul> <li>緙栬瘧鐢?cl錛岄潤鎬佸簱閾炬帴鐢?lib錛屽姩鎬佸簱鍜屽彲鎵ц鏂囦歡鐨勯摼鎺ョ敤 link</li> <li>lib_switch = ""錛宭ib_dir_switch = "/LIBPATH:"錛涘墠涓よ?lib_switch = "-l"錛宭ib_dir_switch = "-L"</li> </ul> <h3>寤虹珛鎴戜滑鐨勫伐鍏烽摼</h3> <p>鍩烘湰涓婃槸鏍規嵁涓婇潰鍒嗘瀽鐨勮鐐歸厤緗紝鏈緇堢粨鏋滃湪姝わ細https://github.com/Streamlet/gn_toolchain</p> <p>鏂板鐨勪竴浜涘樊寮傛湁錛?/p> <ul> <li> <p>澧炲姞鍏ㄥ眬鍙傛暟 is_debug錛屽彲浠ュ湪 <code>gn gen out --args="is_debug=true"</code>浼犲叆銆傞粯璁?is_debug 涓?false錛屽紑鍚墍鏈変紭鍖栥?/p> </li> <li> <p>mac 涓嬬敓鎴?dSYM 涓嶄嬌鐢?python 鑴氭湰錛岀洿鎺ユ槸 <code>$ld ... && dsymutil ... && strip</code></p> </li> <li> <p>mac 涓嬪姞浜嗕竴涓?template錛歛pp_bundle錛岀敤鏉ョ敓鎴?xxx.app錛屼富瑕侀厤緗潵鑷簬 create_bundle 鏂囨。閲岀殑渚嬪瓙</p> </li> <li> <p>win 涓嬪鍔犱簡涓浜涢厤緗泦</p> <ul> <li> <p>鍔ㄦ?闈欐侀摼鎺?CRT錛?/build/config/win:console_subsystem銆?/build/config/win:static_runtime</p> </li> <li> <p>鎺у埗鍙扮▼搴忋乄in32 紼嬪簭錛?/build/config/win:console_subsystem銆?/build/config/win:windows_subsystem</p> <p>榪欎釜鍏跺疄涓鑸儏鍐典笅鐢ㄤ笉鐫錛屽彧瑕佸叆鍙e嚱鏁版槸 main/WinMain錛宭ink 榛樿灝辨槸鎺у埗鍙扮▼搴?Win32 紼嬪簭</p> </li> <li> <p>XP 鏀寔錛?/build/config/win:console_subsystem_xp銆?/build/config/win:windows_subsystem_xp</p> <p>鍏蜂綋瀹炵幇鏄摼鎺ュ弬鏁板姞 /SUBSYSTEM:CONSOLE,5.01 鎴?/SUBSYSTEM:WINDOWS,5.01銆傚叧閿槸鍚庨潰鐨勭増鏈彿 5.01錛屼負浜嗗姞鐗堟湰鍙峰垯蹇呴』鎸囧畾瀛愮郴緇熷悕縐幫紝鎵浠ュ垎浜?console_subsystem_xp 鍜?windows_subsystem_xp銆傚張錛寈p 榪欓噷鎻愪緵浜嗕袱涓?subsystem 鐨勯厤緗泦錛岄潪 xp 涔熸彁渚涗袱涓?/p> <p>浣嗘槸鎴戜滑娌℃湁鍔?_WIN32_WINNT=0x0501銆乄INVER=0x0501銆乢USING_V110_SDK71_錛屼篃娌℃湁鎸囧畾蹇呴』浣跨敤 7.0 鐗堟湰鐨?SDK錛岃繖浜涢兘鏄潪蹇呴』鐨勶紝鍙涓嶇敤鍒?XP 浠ュ悗娣誨姞鐨?API 鍗沖彲銆備嬌鐢ㄨ呭彲浠ュ湪鑷繁鐨?target 閲岄潰瀹氫箟榪欎簺瀹忋?/p> </li> </ul> </li> </ul> <h2>浣跨敤妗堜緥</h2> <p>鎻愪緵涓涓嬌鐢ㄦ渚嬶細https://github.com/Streamlet/gn_toolchain_sample</p> <p>鍥犱負瀹冧互 git submodule 褰㈠紡寮曠敤浜?https://github.com/Streamlet/gn_toolchain錛屾墍浠?git clone 浠ュ悗錛岄渶瑕?<code>git submodule update --init</code>涓涓嬨?/p> <p>鐒跺悗鍦ㄦ牴鐩綍鎵ц錛氾紙紜繚 gn 鍜?ninja 宸茬粡鍦?PATH 涓級</p> <pre><code class="language-sh">gn gen out ninja -C out </code></pre> <p>鍗沖彲銆?/p> <p>Mac 涓嬩細棰濆鐢熸垚涓涓?objc 欏圭洰 objc_console_application 浠ュ強涓涓?app_bundle錛歯s_application.app銆?/p> <p>Win 浼氶澶栫敓鎴愪竴涓?Win32 欏圭洰 win32_application銆?/p> <p>Win 涓嬮渶瑕佸厛鎵ц涓涓?Visual Studio 甯︾殑鍛戒護琛岀幆澧冿紝濡?VS 2022 Community 鐨?鈥渪64 Native Tools Command Prompt for VS 2022鈥濓紝cl 絳夊伐鍏鋒墠浼氬彲鐢ㄣ?/p> <p>濡傛灉瑕佹祴璇?XP錛?2浣嶏級錛岀敤鈥渪86 Native Tools Command Prompt for VS 2022鈥濊繘鍏ワ紝CD 鍒伴」鐩洰褰曪紝鎵ц錛?/p> <pre><code class="language-gn">gn gen out --args="target_cpu=\"x86\"" ninja -C out </code></pre> <h2>鎬葷粨</h2> <p>鎴戜滑鍙敤鍑犲崄 KB 鐨勫ぇ灝忓畬鎴愪簡璺ㄧ鏀寔錛屾槸寰堣交閲忕殑涓涓厤緗傚鏋滄偍瑙夊緱瀹炵敤騫惰鍙繖縐嶆柟寮忥紝嬈㈣繋涓璧鋒潵緇存姢銆佸畬鍠勩?/p> <img src ="http://m.shnenglu.com/Streamlet/aggbug/229483.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Streamlet/" target="_blank">婧祦</a> 2022-11-06 02:05 <a href="http://m.shnenglu.com/Streamlet/archive/2022/11/06/229483.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍐欎竴涓?Markdown 鍗氬瀹㈡埛绔?/title><link>http://m.shnenglu.com/Streamlet/archive/2020/09/20/217466.html</link><dc:creator>婧祦</dc:creator><author>婧祦</author><pubDate>Sun, 20 Sep 2020 08:03:00 GMT</pubDate><guid>http://m.shnenglu.com/Streamlet/archive/2020/09/20/217466.html</guid><wfw:comment>http://m.shnenglu.com/Streamlet/comments/217466.html</wfw:comment><comments>http://m.shnenglu.com/Streamlet/archive/2020/09/20/217466.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Streamlet/comments/commentRss/217466.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Streamlet/services/trackbacks/217466.html</trackback:ping><description><![CDATA[<p>榪欎釜鈥滀吉闇姹傗濇槸鏈榪戞墠鎯沖埌鐨勩?/p> <p>鍏充簬鏂囩珷綆$悊鐨勬兂娉曪紝璇存潵璇濋暱銆傛垜鏈鍒濇槸鍦?CSDN 鍐欐妧鏈枃绔狅紝灝辯敤緗戦〉涓婄殑緙栬緫鍣ㄣ傚悗鏉ュ湪 CppBlog 鍐欙紝鐢ㄤ笂浜?Windows Live Write錛屼竴鑸湪 Word 閲岄潰鍐欏ソ錛屽啀璐村埌 WLW 鍙戝竷銆傚啀鍚庢潵鐢變簬澶繖浜嗭紝涓鐩村仠鍒扮幇鍦ㄣ傚叾涓櫎浜嗘垜鎳掞紝鏈変袱涓瑙傚師鍥狅紝絎竴鏄腑闂村ソ鍑犲勾涓嶆悶 C++錛岄偅涔堝湪 CppBlog 涓婂啓闈?C++ 鐨勪笢瑗垮ソ鍍忔湁鐐瑰鎬紱絎簩鏄紝鏈嶅姟绔殑涓滆タ鐪熺殑娌℃硶姣忓ぉ涓嬬彮鑷繁鐜╁憖錛屾瘡澶╀笅鐝彁蹇冨悐鑳嗗湴鐪嬬煭淇℃姤璀︼紝涔熸病鍝釜蹇冩儏鍜屾椂闂村啀鍘婚噸鏂板紑杈熶竴涓拰鐧藉ぉ宸ヤ綔鍐呭榪ュ紓鐨勫涔犲満鏅淮鎸佷笅鍘匯傦紙浣╂湇鑷繁鎵懼熷彛鐨勮兘鍔泘錛?/p> <p>鍓嶄簺騫達紝Markdown 鍏磋搗錛孏itHub Pages 鍏磋搗錛屼竴浼楅潤鎬佸崥瀹㈠伐鍏蜂篃钃媰鍙戝睍銆侻arkdown 鐪熺殑澶傚悎鐢ㄦ潵鍐欐妧鏈崥瀹簡錛屽敮涓涓嶈凍鏄浘鐗囩殑澶勭悊銆傚敖綆″姝わ紝鎴戣繕鏄姳浜嗗緢澶х殑綺懼姏鎶婁互鍓嶆墍鏈夌殑鏂囩珷閮借漿鎴愪簡 Markdown銆傜劧鍚庢浘緇忎竴搴︿篃鐜╀笂浜?GitHub Pages錛岀敤 Huge 鐢熸垚闈欐佸崥瀹€傜劧鑰岋紝鍗氬鐨勮繖涓滆タ鎴戣涓轟環鍊肩偣鍜屽姩鍔涜繕鏄湪浜庝氦嫻併佺鎾烇紝鑷繁鍐欒嚜宸辯湅錛岃窡瀛樻湰鍦版病鍟ュ尯鍒斺旀垜鐨?GitHub Pages 鍑犱箮娌′漢鐪嬧︹﹂偅鏃跺欎篃娌″啓鍑犵瘒錛屽ぇ姒傛槸 2018 騫存湯鍒?2019 騫村垵鐨勬椂闂淬?/p> <p>鍗婂勾鍓嶏紝鎴戞兂鍒頒簡榪戝勾鏉ョ涓涓滀吉闇姹傗濄傛垜瀚?Hugo 榪欑褰㈡佹搷浣滃お緗楀棪錛氬厛鍐?Markdown錛屽啀鏀懼埌 source repo 鐨?post 閲岋紝鎻愪氦涓鎶婏紱鍐嶇敓鎴愰潤鎬侀〉闈紝鎶?public 鎻愪氦鍒?public repo銆傚鏋滄姌鑵炬ā鐗堝暐鐨勶紝灝辨洿澶嶆潅銆傛垜灝辨兂鍐?Markdown錛屽啓瀹屾彁浜や竴嬈?.md錛岃兘涓嶈兘灝辯湅鍒板憿錛熺敋鑷沖共鑴嗕笉鎻愪氦錛岀洿鎺ュ悓姝ュ埌鏈嶅姟绔傝繖鏍鳳紝灝卞緱鍋氫竴濂楀姩鎬佺郴緇燂紙鐩稿浜?Hogo 鐨勯潤鎬侀〉闈級鍘誨仛榪欎歡浜嬶紝鑰岀敓鎴愯嫻忚鐨勬暟鎹殑閫昏緫鐞嗚涓婅窡 Hugo 涔嬬被鐨勬病鏈川鍖哄埆銆傝屼竴鑸釜浜哄崥瀹㈣繖縐嶆枃绔犻噺錛屾牴鏈笉鐢ㄧ撼鍏ユц兘涓婄殑鑰冮噺錛屽洜姝ゅ仛鎴愬姩鎬佹槸瀹屽叏鍙搷浣滅殑銆傜湅浜嗕笅甯傞潰涓婃病鏈夋綾葷殑宸ュ叿錛屼簬鏄氨寮鎼炰簡銆傛垜鎶婂畠鍙淣oteIsSite鈥濓紝GitHub 鍦板潃 <a >https://github.com/Streamlet/NoteIsSite</a>錛孌emo 鍦板潃 <a >https://note-is-site.streamlet.org/</a>錛岀劧鍚庢妸鎴戞墍鏈夌殑鏂囩珷涔熺敤榪欎釜宸ュ叿鎸傚湪涓婚〉涓嬬殑涓涓瓙鍒嗙被錛岃 <a >https://www.streamlet.org/note/</a>銆傚叧浜庤繖涓紝浠ュ悗鍐嶅紑涓綃囨枃绔犵粏璇淬?/p> <p>鍒拌繖閲屼負姝紝鍐欑殑榪囩▼浠d環寰堝皬浜嗐備絾鏄垰鎵嶈浜嗭紝鍗氬榪欎笢瑗匡紝瀵逛簬鎴戠殑鍔ㄥ姏寰堝ぇ涓閮ㄥ垎鏉ヨ嚜浜庤瘎璁恒佺鎾烇紝榪樻槸闇瑕佸彂鍒板叕鍏卞鉤鍙頒笂鍘葷殑濂姐傛渶榪戠湅鍒頒竴涓幓騫寸鑱岀殑鍓嶅悓浜嬬殑鍗氬 <a >https://gclxry.com/</a>錛屾垜鎯婂徆浜庝漢瀹朵竴鐩村湪鍧氭寔鍐欍傛垜鎯蟲垜鏄笉鏄篃瑕佹崱璧鋒潵浜嗭紝榪樻槸鍥炲綊 CppBlog 鍚с備簬鏄棶棰樺氨鏉ヤ簡銆傛渶榪戣寰楁渶濂界敤鐨?Markdown 緙栬緫鍣ㄦ槸 typora錛岀劧鍚庡畠娌℃硶鍙戝崥瀹紱浠ュ墠鐨?WLW 铏界劧榪樿兘鐢紝浣嗘瘯绔熶笉鍩轟簬 Markdown銆傜劧鑰?typora 涓嶅紑婧愶紝娌℃硶緇欎粬鍔犱竴涓滃彂甯冣濆姛鑳戒簡浜嬨傛墍浠ヨ嚜宸卞仛鍋氱湅錛熼『渚垮叆涓涓?Electron 鐨勫潙錛屼互鍙婂墠绔殑鍧戙?/p> <p>鑺變簡榪欎箞澶х瘒騫呮妸闇姹傛潵婧愯瀹屼簡銆傝嚦浜庝負浠涔堥?Electron 鍛紵灝辨槸涓轟簡蹇偣鎼炲畾鈥︹?/p> <p>涓婂懆瀛︿範浜嗕笅 Electron 鐨?demo 浠ュ強鎵撳寘嫻佺▼錛?a >https://github.com/StreamletStudy/ElectronHelloWorld</a></p> <p>鐒跺悗姝e紡鐢ㄨ繖涓?repo錛?a >https://github.com/Streamlet/MarkdownBlog</a> 鐜板湪鍔熻兘灝變袱涓細緙栬緫銆佸彂甯冦傜紪杈戜笉鏄墍瑙佸嵆鎵寰楃殑錛屽乏杈?Markdown錛屽彸杈?HTML銆傚彂甯冭姣忔濉?API 鍦板潃銆佽處鍙鳳紝娌″仛綆$悊銆傛暣涓祦紼嬮氫簡錛屼簬鏄仠涓嬫潵鍐欎簡榪欑瘒鏂囩珷錛岀敤鍒氬啓鐨勫伐鍏峰彂甯冧笂鏉ャ?/p> <p>鍙戠幇浜?Electron 鐨勪竴涓潙錛屽彧瑕佸湪欏甸潰閲岃皟鐢ㄤ簡 alert錛岄〉闈笂鐨勭劍鐐瑰氨鏈夐棶棰橈紝杈撳叆妗嗗啀涔熸棤娉曡緭鍏ュ唴瀹逛簡銆傜洰鍓嶇敤 remote.dialog.* 鏇夸唬銆備笉鐭ラ亾鏈夋病鏈夋瑙o紵</p> <p>鍚庨潰鐨勮鍒?</p> <ol> <li>鎼炴竻妤氬墠绔殑璇█浣撶郴錛岀劧鍚庨夋嫨鐢ㄥ師鐢?JS 榪樻槸瀹冪殑琛嶇敓璇█錛屾妸宸ョ▼緇勭粐榪涗竴姝ュ畬鍠?/li> <li>鎼炴竻妤?UI 澶嶆潅搴︼紝鐪嬭涓嶈閫夋嫨涓涓櫄鎷?DOM 鏂規</li> <li>鎾稿姛鑳斤紝璐﹀彿綆$悊絳?/li> <li>鎾稿姛鑳斤紝鍋氭垚鎵瑙佸嵆鎵寰?/li> <li>鎾稿姛鑳斤紝鏀寔鍥劇墖綺樿創銆佷笂浼?/li> </ol> <p>鍐嶅悗闈紝鍏堜笉瑙勫垝錛屽仛瀹屼簡鍐嶇湅銆傚綋鍓嶇増鏈?Release錛?a >https://github.com/Streamlet/MarkdownBlog/releases/tag/publish_to_metaweblog_api</a></p> <img src ="http://m.shnenglu.com/Streamlet/aggbug/217466.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Streamlet/" target="_blank">婧祦</a> 2020-09-20 16:03 <a href="http://m.shnenglu.com/Streamlet/archive/2020/09/20/217466.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Go璇█鐨勮禐鍜屽柗http://m.shnenglu.com/Streamlet/archive/2020/09/20/217465.html婧祦婧祦Sun, 20 Sep 2020 06:16:00 GMThttp://m.shnenglu.com/Streamlet/archive/2020/09/20/217465.htmlhttp://m.shnenglu.com/Streamlet/comments/217465.htmlhttp://m.shnenglu.com/Streamlet/archive/2020/09/20/217465.html#Feedback0http://m.shnenglu.com/Streamlet/comments/commentRss/217465.htmlhttp://m.shnenglu.com/Streamlet/services/trackbacks/217465.html錛堝師鍙戜簬 GitHub Pages錛?019-01-01 23:22:43錛?/p>

2019 騫達紝鎴戝洖鏉ヤ簡銆?/p>

涓嶇煡涓嶈涓紝鎴戝叆 PHP 鐨勫潙宸茬粡 3 騫存湁浣欙紝鍏?Go 鐨勫潙涔熷ぇ鍗婂勾浜嗐備綔涓轟笉璇勮涓嶈垝鏈嶆柉鍩烘槦浜猴紝鑷劧瑕佸 Go 鍝佸ご璁鴻凍涓鐣殑銆?/p>

鎬葷殑涓鍙ヨ瘽錛孏o 鐨勪竴浜涚壒鎬х‘瀹炴伆鍒板ソ澶勶紝鐒惰屾洿澶氱殑鍦版柟鍗存槸騫沖焊銆佺箒鐞愩佹潫緙氾紝浠ヨ嚦浜庢垜鎯充笉鍒板畠鏄傚悎鍝簺鍦烘櫙鐨勩?/p>

闈欐佽璦閲岋紝C銆丆++ 鏈夌潃鏄庢樉鐨勯傜敤棰嗗煙錛氫綘瑕佹兂鑰佽佸疄瀹炲啓紼嬪簭錛屼笉鐜╀換浣曡姳鎷涳紝灝辯敤 C 鍚э紝鑷沖皯浣犺兘鎺屾帶涓鍒囷紝瀹炲湪鎯崇帺浣犺繕鏈夊畯榪欎釜澶ф潃鍣紱浣犺鎯崇帺鐐硅姳鎷涳紝閭e氨鐢?C++錛屼唬浠峰氨鏄渶瑕佽嚜韜按騫蟲洿楂橈紝鑳芥帉鎺у埌澶氬ぇ灞傛灝卞啓澶氬ぇ灞傛錛屼笉鎳傜殑涓嶈涓嶆噦瑁呮噦鍘葷敤錛屾諱綋鏉ヨ榪樻槸瀹夊叏鐨勩?/p>

鑴氭湰璇█閲岋紝濡傛灉瑕侀殢渚垮啓鐐逛粈涔堝伐鍏鳳紝python 鍟ョ殑鎸烘柟渚跨殑錛涘啓鐐圭綉緇滅殑錛屽氨鐢ㄤ笘鐣屼笂鏈濂界殑璇█ PHP 鍚с備粈涔堬紵浣犺 Java錛熷疄鍦ㄦ病鍔炴硶錛屼綋閲忓お澶э紝鍏徃瑕佷綘鐢ㄤ綘灝辯敤鍚с備笉榪囧氨鍏舵湰璐ㄨ岃█錛屽叾瀹?Java 鍜屼粖澶╃殑涓昏鈥斺擥o 鏄悓涓綾葷殑銆備笉鏄浠栦滑璇硶鍍忥紝鏄寚搴旂敤鍦烘櫙錛堜笉榪囪繖涓鍩熸嬁 PHP 鍐欐樉鐒朵細鏇寸埥錛夈?/p>

鍡斺斾負浜嗚〃杈懼嚭鐪熷疄鐨勬剰鎬濓紝鎴戞兂鐢ㄨ瘝紼嶅井鐘鍒╃偣錛岃鍏堝仛涓涓嬪績鐞嗗緩璁俱?/p>

鎴戜笉鎬庝箞鎳?Java錛屽氨鎴戞祬钖勭殑浜嗚В鑰岃█錛屽鏋滀綘鐨勫叕鍙搞佸洟闃熸湁寰堝鍌婚鹼紝鐢氳嚦浣犺嚜宸變篃鏄紝涓氬姟涓婂張姝eソ鍙互鐢?Java 鐣岀殑涓浜涚幇鎴愮殑妗嗘灦銆佺粍浠訛紝閭d箞鐢?Java 鑲畾鏄病閿欑殑鍟︺傚畠紜疄鏈変竴縐嶉瓟鍔涳紝璁╀綘鏃犺澶氬偦閫鹼紝涔熺粷瀵瑰啓涓嶅嚭閿欏緱澶氫箞闅愯斀銆佺簿濡欐棤姣旂殑浠g爜錛涘悓鏃惰浣犳棤璁哄鐗涢鹼紝涔熷啓涓嶅嚭澶氫箞綺懼僵緇濅雞銆佽█綆鎰忚祬鐨勪唬鐮併侴o 涔熸湁榪欑鐗硅川錛岀敋鑷蟲湁浜涘湴鏂規瘮璧?Java 鏇存湁榪囦箣鑰屼笉鍙娿備笉淇¤鐪嬶細

鍒漢瀹剁殑鍐欐硶錛?/p>

r = f(p1, p2 != null ? p2 : p3)
$r = f($p1, $p2 ?? $p3) 

Go 瀹剁殑鍐欐硶錛?/p>

var r someType
if p2 != nil {
	r = f(p1, p2)
} else {
	r = f(p1, p3)
}

涓轟粈涔堣璁捐鎴愯繖鏍鳳紵Go 鐖哥埜璇達細浣犱滑鏈変簺浜哄晩錛屼細宓屽寰堝灞??:錛屽鑷翠唬鐮佸彲璇繪уお宸暒錛屼簬鏄姝綘浠嬌鐢??:錛岃繖鏄娉曘傚湪榪欓噷錛屼綔涓虹唺瀛╁瓙鐨勪唬琛紝鎴戞潵鍛婅瘔澶у鎬庢牱鍐欏嚭璁?Go 鐖哥埜鏃犺鐨勪唬鐮侊細

	foo := 1
	bar := 2
	var foobar int
	if foo > bar { if bar > 1 { foobar = 1 } else if bar < 0 { foobar = 2 } else { foobar = 3 } } else { if foo >= 3 { foobar = 4 } else { foobar = 5 } }

鎬庝箞鏍鳳紵鍙鎬у樊涓嶅樊錛?/p>

鐪嬪埌浜嗗惂錛岃繖縐嶅偦閫兼槸闃蹭笉浣忕殑錛屼粬鎰挎剰鎶??: 宓屽濂藉灞傦紝瀹冨悓鏍峰彲鑳戒細鎶?if else 宓屽濂藉灞傘傛湁绱犺川鐨勪漢浼氭庝箞鍋氾紵閬囧埌 ?: 宓屽澶绔嬮┈鎷嗘垚 if else銆傛墍浠ョ粨璁烘槸錛屽嵆浣垮幓鎺??:錛屽偦閫艱繕鏄偦閫鹼紝浣嗘槸姝e父鐨勪漢鍐欎唬鐮佸氨浼氬緢鍟板棪錛涙敮鎸??:錛屽偦閫艱繕鏄偦閫鹼紝姝e父浜虹敤璧鋒潵鐖姐傝鐭ラ亾涓灞??: 鐨勫満鏅崰鎵鏈??: 鍦烘櫙鐨勬瘮渚嬭繕鏄緢楂樼殑鍚с傛垜瑙夊緱鍙互榪欐牱錛孏o 鐖哥埜鍙互緇熻涓浜涘伐涓氱駭浠g爜搴撶殑 ?: 宓屽灞傛暟錛屼綔涓烘暟鎹敮鎾戯紙姣斿鑷 Chrome 閲屼竴灞??: 鍗?95%錛屼袱灞傚崰 4.9錛夛紝鐒跺悗鍐嶅湪璇█灞傞潰鍙敮鎸佷竴灞??:錛岀紪璇戝弬鏁板彲閫夋墦寮涓ゅ眰錛屼笉鏀寔涓ゅ眰浠ヤ笂銆傝繖灝卞姛鍦ㄥ崈縐嬩簡銆?/p>

闄や簡 涓嶆敮鎸??:錛孏o 鐖哥埜榪樻湁寰堝榪欐牱鐨勮璁★紝闅忎究涓懼嚑涓緥瀛愶細

  1. 涓嶆敮鎸侀粯璁ゅ弬鏁?/li>
  2. 涓嶆敮鎸佽繍綆楃閲嶈澆
  3. 涓嶆彁渚?goroutine id錛堜互鍙?gls銆佸彲閲嶅叆閿侊級

鐗瑰埆鏄涓夌偣錛屼篃鏄繖縐嶆濊礬錛屽洜涓轟綘浠彲鑳戒細婊ョ敤錛屾墍浠ユ垜涓嶆彁渚涖傜被浼艱繖縐嶁滅埜鐖告濊礬鈥濓紝鏄垜浠婂ぉ瑕佸柗鐨勬渶澶у柗鐐廣傚墠涓ょ偣涔熻鏄妱 Java 鐨勶紝涓嶆?Go 鐖哥埜銆?/p>

緇間笂錛孏o 鐖哥埜閫氳繃鎵兼潃涓浜涘熀鏈娉曟垨鑰呬竴浜涘熀紜淇℃伅錛屾潵闃叉鍌婚煎共鍧忎簨錛屽悓鏃惰姝e父浜虹敤璧鋒潵寰堝暟鍡︼紝鍚屾椂榪樺彲鑳介槻姝笉浜嗗偦閫煎共鍧忎簨銆傝繖璺?Java 閫氳繃涓嶆彁渚涢珮綰ц娉曟潵闃叉鍌婚煎共鍧忎簨鏄笀鍑哄悓闂ㄥ晩錛岃屼笖浠栦滑姝eソ閮借兘鍐欑綉緇滄湇鍔$▼搴忥紝浣犺瀹冧滑鍍忎笉鍍忥紵

鐒惰岋紝Go 鐖哥埜涔熸湁綺懼垎鐨勬椂鍊欙紝瀹冨眳鐒跺彂鏄庤娉曠硸浜嗚訛紒姣斿 if 鍙互鎵ц涓涓彞鍙ャ傚崟灝辮繖涓娉曡岃█錛屾垜鐨勬佸害鏄腑绔嬪亸璧炪傝禐鏄禐 Go 鐖哥埜紜疄鐢ㄨ繃蹇冧簡錛屾煇浜涙椂鍊欐尯鏂逛究錛岃繕鑳界緝灝忓彉閲忎綔鐢ㄥ煙錛涗笉榪囪繖涓誨綊鏄彲鏈夊彲鏃犵殑錛屾瘯绔熸崲涓琛屽啓涔熶笉浼氭錛岃鍙橀噺浣滅敤鍩熷姞涓ぇ鎷彿灝辮銆?/p>

灝忚娉曟柟闈㈠掓槸鏈変釜浜偣錛岄偅灝辨槸 switch 鐨勯殣寮?break銆佹樉寮?fallthrough 澶勭悊銆備笉澶氬睍寮浜嗐?/p>

闄や簡闃插偦閫鹼紝Go 鐖哥埜榪樻湁涓涓濊礬錛屽氨鏄彧璁稿窞瀹樻斁鐏紝涓嶈鐧懼鐐圭伅銆傛湁涓や釜璇硶鐐光斺?/p>

  1. 娉涘瀷
  2. 閫楀彿ok鏂█

鍏堣娉涘瀷鍚с備笉鏀寔娉涘瀷鍏跺疄鎴戞尯鑳界悊瑙g殑錛屽洜涓轟粬紜疄姣??: 澶嶆潅澶氫簡錛屽偦閫肩敤涓嶈搗錛?code>?: 閮芥病鏈夛紝鎬庝箞鍙兘浼氭湁娉涘瀷鍛€傜劧鑰?Go 鐖哥埜鏈夌壒鏉冨憖錛屽畠鐨?map銆乧han 鍙兘鏄硾鍨嬬殑鍝︺備絾鏄綘瑕佸啓涓涓硾鍨嬬殑璇硶緇撴瀯鐨勮瘽錛屽涓嶈搗娌℃湁銆?/p>

鍐嶈閫楀彿ok鏂█錛屽悓鏍?Go 鐖哥埜瑕佸緱璧鳳紝鎴戜滑瑕佷笉璧楓傚叾瀹炴垜鏇存兂瑕佷竴涓繖鏍風殑璇硶錛氬綋榪斿洖鍊兼槸 xxx, ok 鎴栬?xxx, err 鐨勬椂鍊欙紝鎴戝鏋滅敤涓涓繑鍥炲兼帴錛岄偅涔堝氨榪斿洖絎竴涓紝浠ヤ究閾懼紡璋冪敤錛屽悓鏃?!ok 鎴栬?err != nil 鐨勬椂鍊?panic銆?/p>

浠ヤ笂涓ゅ皬鐐硅櫧鐒舵槸鍦ㄥ柗錛屼笉榪囪繕濂藉暒銆傛棤鎵璋撶殑銆備笅闈㈣鍑犱釜澶х殑鏂歸潰銆?/p>

浠g爜緇勭粐

鎴戠壒鍒禐璧?Go 瀵逛簬 package 綰т弗鏍肩殑寰幆渚濊禆媯鏌ャ傜劧鑰屽鏋滃姞涓婂叾浠栬鍒欙細

  • 涓涓洰褰曚竴涓?package
  • 涓嶅悓璺緞涓嬬殑鍚屽悕鐩綍涔熸槸涓嶅悓 package
  • go 浠g爜鏃犳硶鎷嗘垚 .h銆?cpp

瀹為檯鍙搷浣滄у氨浼氶潪甯稿樊銆傝鎷?package錛屽氨瑕佹妸渚濊禆鍏崇郴姊崇悊寰楃壒鍒弗鏍鹼紝鍗婄偣涓嶅緱椹檸銆傝繖瀵瑰伐涓鑸殑紼嬩唬鐮佹潵璇存槸涓瀬澶х殑鎸戞垬銆?/p>

鎴戞洿鍊懼悜浜庡仛鎴愬嚱鏁扮駭寰幆渚濊禆媯鏌ワ紝鎴栬呬笉闄愬埗錛堟瘯绔熼掑綊鍑芥暟涔熸槸瑕佹敮鎸佺殑鍢涳級銆?/p>

榪欓儴鍒嗭紝涓珛鍋忓柗錛屽亸鍠鋒槸鍥犱負 Go 鐖哥埜鐢ㄤ簡鎴戠殑灝忓悕 internal銆?/p>

OOP

鎴戠壒鍒禐璧?Go 瀵逛簬 OOP 娉涙互鎴愮伨鐨勬濊冧笌鎺㈢儲錛屼互鍙婂浜庣粓緇撹繖闃?Java 甯︽潵鐨勪笉姝d箣椋庣殑鍐沖績銆傛庝箞鍙兘涓囩墿閮芥槸 class 鍛€備絾鍚屾椂錛孏o 榪樻槸鏈夌偣鐭瀴榪囨鐨勶紝濡傛灉鎴戦渶瑕佸埄鐢ㄤ紶緇熺殑 OOP 鏉ユ悶浜嬫儏錛屽氨闈炲父楹葷儲錛屼綘鐢氳嚦閮芥棤娉曞啓鍑轟竴涓鏋舵潵銆備綘鍙兘鍐欏簱璁╁埆浜虹敤銆傝櫧鐒舵垜涔熶笉鍠滄妗嗘灦錛屼絾鏈夌殑鏃跺欐槸闇瑕佹鏋剁殑銆?/p>

defer 闈炲父鍒囦腑鐥涚偣錛岀壒鍒В鍐充竴鍫嗛敊璇?return 澶栧姞璧勬簮閲婃斁鐨勯棶棰樸傜浉姣斾箣涓婥 閲屽彧鑳界敤 goto錛孋++ 鏈韓涓嶆敮鎸佷絾鍙互鐜╁嚭 LOKI_ON_BLOCK_EXIT 鎴栬?BOOST_SCOPE_EXIT銆俤efer 涓涓捐В鍐抽棶棰樸傦紙瑕佹槸鑳藉啀澧炲姞鍛藉悕 defer 浠ュ強鎾ら攢 defer 鐨勫姛鑳藉氨鏇村ソ浜嗐傛病閿欙紝浣犱篃璁哥湅鍑烘潵浜嗭紝鎴戣寰?LOKI_ON_BLOCK_EXIT 鏄渶瀹岀編鐨勬柟妗堛傦級

铏界劧 defer 寰堝ソ錛屼絾涓嶆剰鍛崇潃鏋愭瀯灝辨病鐢ㄦ涔嬪湴浜嗐傜悊鎯崇殑鎯呭喌鏄紝鏋愭瀯銆佸鎬併乨efer 閮借鏈夆︹?/p>

榪欓儴鍒嗘垜鐨勬佸害鏄腑绔嬨?/p>

閿欒澶勭悊

緇堜簬瑕佺偣璧炰簡銆傞敊璇鐞嗘槸鍦ㄦ垜鐪嬫潵 go 瀹岃儨鐨勫湴鏂癸紝鎭板埌濂藉鍦板鐞嗛棶棰橈紝鍙堥槻姝㈡互鐢ㄣ備篃鐭 Java 甯︽潵鐨勬椋庨偑姘斻?/p>

Java 鐨勮璁★紝璁╀漢涓嶅緱涓嶇敤寮傚父鏉ュ鐞嗕笟鍔°傜敋鑷?Java 鑷繁榪樺府鎴戜滑鍒嗗ソ綾諱簡錛氫竴縐嶆槸涓嶆槸寮傚父鐨勫紓甯革紝鐢ㄦ潵澶勭悊涓氬姟錛涘彟涓縐嶆槸鐪熺殑寮傚父銆備竴浜涚敤鎯?Java 鐨勫偦閫艱窇鍒?C++銆丳HP銆丳ython 閲屼貢鎷夊睅錛屽埌澶勬槸 try catch銆?/p>

Go 鐖哥埜涓澹頒護涓嬶紝涓囩眮淇卞瘋銆?/p>

goroutine

鏈鍚庝笉寰椾笉璇磋 gorouthine錛屾瘯绔熸槸鍗栫偣鍢涖傛垜鐨勬佸害涓珛鍋忚禐銆傝禐鏄洜涓鴻繖鏄竴縐嶅お鏈夊垱鎰忕殑鏂規錛屽眳鐒舵兂鍦ㄥ湪璇█灞傞潰瑙e喅澶氱嚎紼嬨佸茍鍙戦棶棰橈紱涓嶈繃鎴戣繕鏄寰楄繖鏇村鐨勬槸搴旂敤灞傞潰鐨勯棶棰橈紝鍋氬埌瀹樻柟搴撻噷浼氭洿濂斤紝鑰屼笉鏄仛鎴愯娉曘?/p>

鎬葷粨

鍒氬紑濮嬬敤 Go 鐨勬椂鍊欙紝鐗瑰埆浜溂錛岀畝鐩村澶勬槸浜偣錛岀劧鍚庤秺鎺ヨЕ瓚婅鍘岋紝涓鐐逛篃涓嶈愮湅鈥︹︾湅寰楀嚭鏉ワ紝璁捐鑰呯硡鍚堜簡 C銆乸ython銆丣ava 鐨勪竴浜涚壒鎬э紝騫惰瀺鍏ヤ簡鑷繁鐨勭嫭鐗圭殑鐞嗚В銆侴o鐨勮璁¤呯湡鐨勭壒鍒壒绔嬬嫭琛屼笖鍧氭寔宸辮錛屼竴浜涙垜鍠滄鐨勭壒鎬у洜涓轟粬浠殑鍧氭寔鑰屽瓨鍦ㄤ笅鏉ワ紝涓浜涙垜璁ㄥ帉鐨勭壒鎬т篃鍥犱負浠栦滑鐨勫潥錛圙u錛夋寔錛圸hi錛夎屼笉鑳芥湁鎵鏀硅銆傚氨榪欐牱鐨?Go錛屾兂浠f浛 C 浣滀負緋葷粺璇█錛屾槸娌℃垙鐨勶紱鎯沖湪緗戠粶鏈嶅姟鏈変竴鐣綔涓猴紝鎶?Java 鐨勪喚棰濓紝鎴栬鏄湁鏈轟細鐨勶紝涓嶈繃鏈澶氬彧鑳芥姠 Java 鐨勶紝榪?C# 鐨勯兘鎶笉浜嗭紝C++銆丳HP 鏇存姠涓嶄簡銆?/p>

鍡紝闄や簡鐗瑰畾鐨勪笉寰椾笉鐢ㄧ殑鍦哄悎錛屽弽姝f垜鏄笉浼氱壒鎰忕敤 Go 鐨勩?/p>

2019錛屾柊騫村揩涔愶紒



婧祦 2020-09-20 14:16 鍙戣〃璇勮
]]>
鎴戜滑鏉ユ眽鍖朓ntelliJ IDEAhttp://m.shnenglu.com/Streamlet/archive/2020/09/20/217463.html婧祦婧祦Sun, 20 Sep 2020 06:00:00 GMThttp://m.shnenglu.com/Streamlet/archive/2020/09/20/217463.htmlhttp://m.shnenglu.com/Streamlet/comments/217463.htmlhttp://m.shnenglu.com/Streamlet/archive/2020/09/20/217463.html#Feedback2http://m.shnenglu.com/Streamlet/comments/commentRss/217463.htmlhttp://m.shnenglu.com/Streamlet/services/trackbacks/217463.html錛堝師鍙戜簬 GitHub Pages錛?018-10-13 13:51:09錛?/p>

涓ゅ勾鍓嶆垜浠庝竴鍚嶅厜鑽g殑C++紼嬪簭鍛樹笓涓氫負PHP紼嬪簭鍛樹互鍚庯紝鍛婂埆浜嗕笘鐣岀涓IDE Visual Studio錛屾敼鐢ㄥ綋鏃惰寰楃壒鍒毦鐢ㄧ殑 PHPStorm銆傜敤浜嗚繖涔堜箙浠ュ悗錛岃寰桰ntelliJ緋誨垪铏芥瘮涓嶄笂VS錛屽ぇ姒備篃鏈変笘鐣岀浜屽惂錛岃嚦灝戞瘮eclipse寮哄お澶氥傞櫎浜嗘參澶ф涔熸病鍟ュソ鍚愭Ы鐨勪簡銆?/p>

鏈榪戝張瑕佸啓Go鍙堣鍐橮HP錛屾渶寮濮婸HPStorm鍜孏oLand涓璧風敤錛屽悗鏉ユ兂錛岀敤涓や釜娓犻亾鍖呭共鍢涘憿錛岃繕浣跨敤浠栦滑瀹剁殑涓繪墦浜у搧Idea鍚с傘傘?/p>

铏界劧璇寸▼搴忓憳涓鑸槸瑕佺敤鑻辨枃鐗堢殑錛屼笉綆℃槸涓轟簡瀹炵敤榪樻槸涓轟簡瑁呴箋備絾涓轟簡鏇村浜鴻兘鍏ラ棬錛屾垜浠彂璧蜂竴涓紑婧愰」鐩潵姹夊寲鍚э紝鍦?https://github.com/Streamlet/ideaLocalization錛屾榪庢湁蹇椾箣澹姞鍏ャ?/p>

鎴戜滑涓昏灝辨槸緲昏瘧 resources.jar銆備唬鐮佹鏋舵槸榪欐牱鐨勶紝resources\en 鏄師鏂囦歡瑙e帇鍚庣殑錛宺esources\zh-CN鏄鍒朵簡涓浠絩esources\en錛屾垜浠彧瑕佸湪resources\zh-CN閲岄潰灝卞湴鏀瑰姩鍗沖彲銆?/p>

build.py浼氭妸鏁g潃鐨勬枃浠朵滑鎵撳寘鎴恟esources.jar銆俲ar閲岀殑properties鏂囦歡閲岋紝濡傛灉鏈変腑鏂囷紝涓嶈兘鐩存帴鏄疷TF鎴朑BK錛屽繀欏昏漿鎴怽uXXXX鐨勫啓娉曘傝繖涓猙uild.py浼氬府蹇欒漿錛屽洜姝esources\zh-CN閲岀洿鎺ュ啓涓枃錛圲TF-8錛夊氨濂姐?/p>

灝辨槸鍙戣搗涓」鐩剰鎬濇剰鎬濓紝浼拌鎴戞槸娌℃椂闂寸炕璇戠殑鈥︹_^


褰撳墠榪涘害

宸插畬鎴愶細

  • 涓葷晫闈㈣彍鍗曟爮緲昏瘧

浣跨敤鏂規硶

  1. 鑾峰彇璇█鍖呫傛偍鍙互錛?
    • 鐩存帴浠?release 鍒楄〃涓嬭澆 resource_zh_CN.jar
    • clone 鏈」鐩紝榪愯鏈」鐩牴鐩綍鐨?build.py 鏉ョ敓鎴?resource_zh_CN.jar
  2. 灝嗚璦鍖呭鍒跺埌 idea 瀹夎鐩綍鐨?lib 鐩綍涓嬶紝澶嶅埗鍒?lib 鐩綍涓嬶紝澶嶅埗鍒?lib 鐩綍涓?
  3. 閲嶅惎 idea

娉ㄦ剰浜嬮」

  • 鍙栧喅浜庝笉鍚屾搷浣滅郴緇燂紝鎮ㄥ彲鑳介渶瑕佸皢緋葷粺鐨勭晫闈㈣璦璁劇疆涓虹畝浣撲腑鏂囷紙zh-CN錛夋墠鑳界敓鏁堛?
  • 鏈」鐩洰鍓嶅彧閽堝 idea錛屽浜?jetBrains 鐨勫叾浠栦駭鍝佸皻鏈仛閫傞厤錛岀悊璁轟笂鍙兘鏀寔鎴栭儴鍒嗘敮鎸侊紝璇瘋嚜琛屽皾璇曘?

鍔犲叆鎴戜滑

鏈」鐩瘹閭鎮ㄧ殑鍔犲叆錛屾榪庢偍璐$尞鑷繁鐨勫姏閲忋?/p>

  • 鎮ㄥ彧闇鍘熷湴淇敼 resources 涓嬬殑鏂囦歡鍗沖彲錛屽彲浠ュ湪絀洪棽鐨勬椂鍊欎慨鏀逛竴涓枃浠躲佺敋鑷充竴琛?
  • 鏈」鐩阿緇濈洿鎺ョ殑鑷姩緲昏瘧錛屼絾涓嶄粙鎰忔偍涓漢浣跨敤鑷姩緲昏瘧榪涜鏌愮褰㈠紡鐨勫崗鍔╋紝浣嗘渶緇堣鎮ㄨ繘琛屼漢宸ユ牳瀵?
  • 鏈」鐩伒寰蔣浠惰涓氶氱敤鐨勭炕璇戣鑼冿紝鍚屾椂瀵規爣 Visual Studio 鐨勭炕璇戙傝鑷浣撲細銆備笅闈細緗楀垪涓浜涚粏鍒欍?

鍒嗘敮璇存槑

  • dev_build_script: 涓撻棬淇敼鏋勫緩鑴氭湰
  • dev_readme錛氫笓闂ㄤ慨鏀?readme
  • original_resources_tracker: 鑻辨枃璧勬簮鏂囦歡
  • dev_translate錛氱炕璇?

鍚堝茍絳栫暐

  • dev_build_script 姣忔淇敼騫舵祴璇曢氳繃鍚庡悎鍏?master
  • dev_readme 姣忔淇敼紼沖畾鍚庡悎鍏?master
  • original_resources_tracker 姣忔鏇存柊璧勬簮鍚庢墦 tag錛屽悎鍏?master
  • dev_translate 緇忓父鎬у湴浠?master 鍚堝茍鏂扮殑鎻愪氦
    • 褰?dev_translate 紼沖畾鍚庯紝浠?dev_translate 榪涜鍙戝竷
    • dev_translate 鍦ㄥ彂甯冩椂蹇呴』澶勪簬瀵?master 鍙?Fast-Forward 鐘舵?
    • dev_translate 鍙戝竷涔嬪悗 master Fast-Forward 鍒?dev_translate

鍗忎綔鏂瑰紡

  • Fork 鐗堟湰搴擄紝鍦?dev_translate 涓婁慨鏀癸紝鎻愪氦 pull request 鍥炴潵
  • 鏈潵鏃舵満鎴愮啛鐨勮瘽錛屾垚绔嬩竴涓?github 涓婄殑 oraganization錛屽眾鏃跺姞鍏?

緲昏瘧瑙勮寖

  • 鏍囩偣錛氳鏂囦腑涓鑸嬌鐢ㄤ腑鏂囧崐瑙掞紝鏌愪簺褰㈠紡鏂囨涓彲鑳介渶瑕佺敤鑻辨枃鍗婅絎﹀彿
    • 闇瑕佹墦寮瀵硅瘽妗嗘搷浣滅殑鑿滃崟欏癸紝浣跨敤鑻辨枃鍗婅鐨勪笁涓偣錛堚?..鈥濓級琛ㄧず
    • 鑿滃崟欏?鎸夐挳鍚庣殑蹇嵎閿袱渚т嬌鐢ㄨ嫳鏂囧崐瑙掓嫭鍙?
  • 涓嫳鏂囨販鎺掞細涓枃鍜岃嫳鏂囦箣闂撮渶瑕佷嬌鐢ㄤ竴涓崐瑙掔┖鏍艱繘琛屽垎闅?
  • 鑿滃崟欏?鎸夐挳鐨勫揩鎹烽敭錛氭斁鍦ㄦ枃妗堜箣鍚庯紝濡傗滄枃浠?<u>F</u>)鈥?

璇嶆眹琛?/h3>
鑻辨枃 鎺ㄨ崘緲昏瘧 涓嶆帹鑽愮殑緲昏瘧
View 瑙嗗浘 鏌ョ湅
Build 鐢熸垚 鏋勫緩


婧祦 2020-09-20 14:00 鍙戣〃璇勮
]]>寰蔣鎷奸煶闀垮彞妯″紡鎭㈠宸ュ叿鏀寔Win10 1803http://m.shnenglu.com/Streamlet/archive/2020/09/20/217462.html婧祦婧祦Sun, 20 Sep 2020 05:53:00 GMThttp://m.shnenglu.com/Streamlet/archive/2020/09/20/217462.htmlhttp://m.shnenglu.com/Streamlet/comments/217462.htmlhttp://m.shnenglu.com/Streamlet/archive/2020/09/20/217462.html#Feedback0http://m.shnenglu.com/Streamlet/comments/commentRss/217462.htmlhttp://m.shnenglu.com/Streamlet/services/trackbacks/217462.html4鏈堜喚灝辨湁浜虹暀璦鏃у井杞嫾闊蟲仮澶嶅伐鍏蜂笉鏀寔Win10 1803浜嗭紝鎴戣嚜宸變篃閬囧埌浜嗭紝浣嗗洜涓烘病鏃墮棿鎼烇紝鍕変負鍏墮毦浣跨敤浜嗚瘝緇勬ā寮忕殑寰蔣鎷奸煶鍑犱釜鏈堬紝緇堜簬鍦ㄥ叓鏈堜喚鎶戒釜絀虹爺絀朵簡涓嬶紝瑙e喅浜嗐?/p>

榪欐鏄洜涓哄偦閫煎ぇ寰蔣鏀逛簡 System32\IME\shared 閲岀殑涓滆タ錛屽鑷存棫緋葷粺鎷瘋繃鏉ョ殑鏂囦歡涓?System32\IME\shared 鐨勪笢瑗夸笉鍏煎浜嗐傝В鍐蟲柟寮忓緢鏆村姏錛氫粠浠ュ墠鐨勭増鏈鍒?System32\IME\shared 榪囨潵銆?/p>

涓嬭澆錛?a >https://www.streamlet.org/software/mspyforever/

錛堝師鍙戜簬 GitHub Pages錛?018-10-13 13:36:04錛?/p>

婧祦 2020-09-20 13:53 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              国产日韩精品一区二区三区在线| 欧美中文在线字幕| 欧美一区二区三区电影在线观看| 亚洲免费视频成人| 翔田千里一区二区| 久久久久久久999| 久久深夜福利免费观看| 麻豆精品视频在线观看| 欧美高清视频一二三区| 亚洲精品久久久久久久久久久久久 | 在线综合+亚洲+欧美中文字幕| av成人黄色| 欧美一区二区精品久久911| 久久久久一区| 欧美日韩免费一区二区三区视频| 国产精品区免费视频| 影音先锋亚洲精品| 亚洲天堂成人在线视频| 欧美综合77777色婷婷| 欧美大片在线看免费观看| 亚洲美女视频在线免费观看| 香蕉av福利精品导航| 欧美1级日本1级| 国产日韩精品一区观看| 亚洲九九九在线观看| 欧美一区二区私人影院日本 | 一区二区三区四区五区精品| 久久疯狂做爰流白浆xx| 亚洲午夜一区二区| 国产精品久久一级| 亚洲高清一二三区| 亚洲欧美日韩直播| 亚洲国产精品一区二区久| 亚洲欧美日韩成人| 欧美精品三级日韩久久| 一区二区亚洲| 久久精品99国产精品| 亚洲精选在线观看| 欧美99久久| 1024成人网色www| 久久av在线看| 在线视频亚洲| 欧美日韩国产在线播放| 亚洲精品激情| 亚洲国产高清高潮精品美女| 久久精品视频播放| 国产亚洲二区| 久久aⅴ乱码一区二区三区| 一区二区欧美视频| 欧美三级乱人伦电影| 一区二区免费看| 亚洲精品视频一区| 欧美日本三级| 中文国产一区| 国产精品99久久久久久白浆小说| 欧美日韩精品不卡| 亚洲午夜免费视频| 亚洲四色影视在线观看| 国产精品视频你懂的| 性做久久久久久| 午夜久久福利| 精品不卡视频| 欧美成人精品高清在线播放| 老司机一区二区三区| 亚洲激情在线观看| 91久久精品一区| 欧美日韩中文字幕日韩欧美| 国产精品99久久不卡二区| 一区二区日韩伦理片| 国产精品捆绑调教| 久久久久久久综合日本| 久久久久欧美| 日韩一区二区久久| 亚洲一级在线观看| 韩日精品视频| 亚洲人成网站精品片在线观看| 欧美日韩国产黄| 午夜精品久久99蜜桃的功能介绍| 亚洲女女女同性video| 国内精品久久久久影院 日本资源 国内精品久久久久伊人av | 久久婷婷一区| 日韩亚洲欧美成人| 亚洲一区免费网站| 亚洲第一精品夜夜躁人人躁| 欧美激情久久久久| 欧美体内谢she精2性欧美| 欧美在线观看视频| 国内精品久久久久久久影视麻豆 | 亚洲第一伊人| 国产精品久久网站| 久久夜色精品国产| 欧美另类高清视频在线| 久久大综合网| 欧美精品色网| 久久久久久久久久久久久9999| 米奇777在线欧美播放| 在线中文字幕一区| 久久激情一区| 亚洲一二三区精品| 久久久夜夜夜| 欧美在线视频一区二区三区| 欧美国产三区| 老牛嫩草一区二区三区日本 | 国产精品久久久久久超碰| 久热国产精品| 国产精品久久综合| 91久久国产精品91久久性色| 国产视频欧美| 亚洲一区二区高清视频| 99riav国产精品| 狂野欧美激情性xxxx| 久久久久国内| 国产区精品在线观看| 一本色道久久88亚洲综合88| 亚洲乱码久久| 老司机精品视频网站| 久久久久免费| 国产欧美在线观看一区| 亚洲一区二区三区高清不卡| 99re66热这里只有精品3直播| 久久青草久久| 久久一区亚洲| 国内精品久久久久国产盗摄免费观看完整版 | 国产精品萝li| 国产精品99久久久久久www| 亚洲麻豆av| 欧美激情综合色| 亚洲成人资源网| 最新成人在线| 欧美大片在线观看| 亚洲国产成人在线播放| 亚洲激情午夜| 欧美激情 亚洲a∨综合| 91久久精品www人人做人人爽 | 欧美日韩精品免费观看| 亚洲国产精品一区二区久| 亚洲精品久久久一区二区三区| 蜜乳av另类精品一区二区| 欧美成人xxx| 亚洲欧洲日韩女同| 欧美韩国一区| 一区二区三区日韩在线观看| 欧美午夜精品久久久久免费视| 亚洲中字黄色| 国产精品久久久久久久久久三级 | 国产美女精品视频免费观看| 亚洲一二三区在线| 久久国产99| 一区在线播放视频| 嫩草成人www欧美| 亚洲全部视频| 亚洲一区综合| 国产一区二区电影在线观看| 久久精品国产99国产精品澳门| 麻豆成人综合网| 99成人在线| 国产免费成人av| 老色批av在线精品| 夜夜嗨一区二区三区| 欧美淫片网站| 亚洲精品一区二区三区在线观看| 欧美日韩一区二区三区视频| 亚洲一区999| 女同一区二区| 亚洲一区在线免费| 亚洲第一精品久久忘忧草社区| 欧美区日韩区| 欧美中文字幕在线视频| 亚洲开发第一视频在线播放| 欧美在线二区| 日韩视频在线播放| 国产亚洲精品激情久久| 欧美成人首页| 欧美伊人久久| 一区二区日韩精品| 欧美韩日亚洲| 欧美在线一二三区| 99视频精品| 亚洲高清毛片| 国产欧美一区二区三区另类精品 | 一区二区欧美在线观看| 国产一区二区久久久| 欧美日韩国产成人在线免费| 久久久久久久久久久久久9999| 国产精品99久久久久久白浆小说| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲一本视频| 9久re热视频在线精品| 一区二区三区在线免费视频| 国产乱人伦精品一区二区| 欧美日韩色婷婷| 欧美chengren| 久久久噜噜噜久久中文字免| 午夜精品久久久久久久久久久久久| 亚洲国产精品一区在线观看不卡 | 日韩视频一区二区三区| 一区二区三区在线观看视频| 国产女人精品视频| 国产精品乱码| 国产精品成人免费|