Golang-鍑芥暟銆佸寘
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang-鍑芥暟銆佸寘相关的知识,希望对你有一定的参考价值。
鏍囩锛?a href='http://www.mamicode.com/so/1/%e6%96%b9%e6%b3%95' title='鏂规硶'>鏂规硶 鏁存暟 涓句緥 src 缂栧啓 淇敼 main 鍚屽悕 浜岀淮鏁扮粍
鍑芥暟鐨勫熀鏈蹇?/span>
銆€銆€涓哄畬鎴愭煇涓€鍔熻兘鐨勭▼搴忔寚浠?璇彞)鐨勯泦鍚?绉颁负鍑芥暟銆?/p>
銆€銆€鍦?/span> Go 涓?鍑芥暟鍒嗕负: 鑷畾涔夊嚱鏁般€佺郴缁熷嚱鏁?鏌ョ湅 Go 缂栫▼鎵嬪唽)
鍑芥暟鐨勫熀鏈娉?/strong>
銆€銆€
蹇€熷叆闂ㄦ渚?/strong>
銆€銆€
鍖?/span>
銆€銆€鍖呯殑寮曞嚭
銆€銆€銆€銆€1)鍦ㄥ疄闄呯殑寮€鍙戜腑锛屾垜浠線寰€闇€瑕佸湪涓嶅悓鐨勬枃浠朵腑锛屽幓璋冪敤鍏跺畠鏂囦欢鐨勫畾涔夌殑鍑芥暟锛屾瘮濡?main.go涓紝鍘讳娇鐢?utils.go 鏂囦欢涓殑鍑芥暟锛屽浣曞疄鐜帮紵 -銆嬪寘
銆€銆€銆€銆€2)鐜板湪鏈変袱涓▼搴忓憳鍏卞悓寮€鍙戜竴涓?Go 椤圭洰,绋嬪簭鍛?xiaoming 甯屾湜瀹氫箟鍑芥暟 Cal ,绋嬪簭鍛?xiaoqiang涔熸兂瀹氫箟鍑芥暟涔熷彨 Cal銆備袱涓▼搴忓憳涓烘杩樺惖浜嗚捣鏉?鎬庝箞鍔? -銆嬪寘
銆€銆€鍖呯殑鍘熺悊鍥?/strong>
銆€銆€銆€銆€鍖呯殑鏈川瀹為檯涓婂氨鏄垱寤轰笉鍚岀殑鏂囦欢澶癸紝鏉ュ瓨鏀剧▼搴忔枃浠躲€傜敾鍥捐鏄庝竴涓嬪寘鐨勫師鐞?/span>
銆€銆€銆€銆€
銆€銆€鍖呯殑鍩烘湰姒傚康
銆€銆€銆€銆€璇存槑锛歡o 鐨勬瘡涓€涓枃浠堕兘鏄睘浜庝竴涓寘鐨勶紝涔熷氨鏄 go 鏄互鍖呯殑褰㈠紡鏉ョ鐞嗘枃浠跺拰椤圭洰鐩綍缁撴瀯鐨?/p>
銆€銆€鍖呯殑涓夊ぇ浣滅敤
銆€銆€銆€銆€鍖哄垎鐩稿悓鍚嶅瓧鐨勫嚱鏁般€佸彉閲忕瓑鏍囪瘑绗?/p>
銆€銆€銆€銆€褰撶▼搴忔枃浠跺緢澶氭椂,鍙互寰堝ソ鐨勭鐞嗛」鐩?/p>
銆€銆€銆€銆€鎺у埗鍑芥暟銆佸彉閲忕瓑璁块棶鑼冨洿锛屽嵆浣滅敤鍩?/p>
銆€銆€鍖呯殑鐩稿叧璇存槑
銆€銆€銆€銆€鎵撳寘鍩烘湰璇硶
銆€銆€銆€銆€package 鍖?鍚?/p>
銆€銆€寮曞叆鍖呯殑鍩烘湰璇硶
銆€銆€銆€銆€import "鍖呯殑璺緞"
銆€銆€鍖呬娇鐢ㄧ殑蹇€熷叆闂?/strong>
銆€銆€銆€銆€鍖呭揩閫熷叆闂?Go 鐩镐簰璋冪敤鍑芥暟锛屾垜浠皢 func Cal 瀹氫箟鍒版枃浠?utils.go , 灏?utils.go 鏀惧埌涓€涓寘涓紝褰撳叾瀹冩枃浠堕渶瑕佷娇鐢ㄥ埌 utils.go 鐨勬柟娉曟椂锛屽彲浠?import 璇ュ寘锛屽氨鍙互浣跨敤浜?
銆€銆€銆€銆€銆愪负婕旂ず锛氭柊寤洪」鐩洰褰曠粨鏋勩€?/p>
銆€銆€銆€銆€
銆€銆€銆€銆€utils.go 鏂囦欢
銆€銆€銆€銆€
銆€銆€銆€銆€main.go 鏂囦欢
銆€銆€銆€銆€
銆€銆€鍖呬娇鐢ㄧ殑娉ㄦ剰浜嬮」鍜岀粏鑺傝璁?/strong> 銆€銆€銆€銆€銆€銆€ 銆€銆€銆€銆€4)鍦ㄨ闂叾瀹冨寘鍑芥暟锛屽彉閲忔椂锛屽叾璇硶鏄?鍖呭悕.鍑芥暟鍚嶏紝 姣斿杩欓噷鐨?main.go 鏂囦欢涓?/p>
銆€銆€銆€銆€銆€銆€ 銆€銆€銆€銆€5)濡傛灉鍖呭悕杈冮暱锛孏o 鏀寔缁欏寘鍙栧埆鍚嶏紝 娉ㄦ剰缁嗚妭锛氬彇鍒悕鍚庯紝鍘熸潵鐨勫寘鍚嶅氨涓嶈兘浣跨敤浜?/p>
銆€銆€銆€銆€銆€銆€ 銆€銆€銆€銆€銆€銆€璇存槑: 濡傛灉缁欏寘鍙栦簡鍒悕锛屽垯闇€瑕佷娇鐢ㄥ埆鍚嶆潵璁块棶璇ュ寘鐨勫嚱鏁板拰鍙橀噺銆傘€€銆€銆€ 銆€銆€銆€銆€6)鍦ㄥ悓涓€鍖呬笅锛屼笉鑳芥湁鐩稿悓鐨勫嚱鏁板悕锛堜篃涓嶈兘鏈夌浉鍚岀殑鍏ㄥ眬鍙橀噺鍚嶏級锛屽惁鍒欐姤閲嶅瀹氫箟 銆€銆€銆€銆€銆€銆€ 鍑芥暟鐨勮皟鐢ㄦ満鍒?/strong> 銆€銆€ 銆€銆€鍑芥暟-璋冪敤杩囩▼ 銆€銆€銆€銆€浠嬬粛锛氫负浜嗚澶у鏇村ソ鐨勭悊瑙e嚱鏁拌皟鐢ㄨ繃绋? 鐪嬩袱涓渚嬶紝骞剁敾鍑虹ず鎰忓浘锛岃繖涓緢閲嶈 銆€銆€銆€銆€銆€銆€銆€銆€ 銆€銆€銆€銆€銆€銆€瀵逛笂鍥捐鏄?br />銆€銆€銆€銆€銆€銆€(1)鍦ㄨ皟鐢ㄤ竴涓嚱鏁版椂锛屼細缁欒鍑芥暟鍒嗛厤涓€涓柊鐨勭┖闂达紝缂栬瘧鍣ㄤ細閫氳繃鑷韩鐨勫鐞嗚杩欎釜鏂扮殑绌洪棿鍜屽叾瀹冪殑鏍堢殑绌洪棿鍖哄垎寮€鏉?/p>
銆€銆€銆€銆€銆€銆€(2)鍦ㄦ瘡涓嚱鏁板搴旂殑鏍堜腑锛屾暟鎹┖闂存槸鐙珛鐨勶紝涓嶄細娣锋穯 銆€銆€銆€銆€銆€銆€ 銆€銆€ 銆€銆€return 璇彞 銆€銆€銆€銆€鍩烘湰璇硶鍜岃鏄?/p>
銆€銆€銆€銆€銆€銆€ 銆€銆€銆€銆€ 銆€銆€銆€銆€妗堜緥婕旂ず 1 銆€銆€銆€銆€ 銆€銆€銆€銆€妗堜緥婕旂ず 2 銆€銆€銆€銆€涓€涓粏鑺傝鏄? 甯屾湜蹇界暐鏌愪釜杩斿洖鍊硷紝鍒欎娇鐢?/span> _ 绗﹀彿琛ㄧず鍗犱綅蹇界暐 銆€銆€銆€銆€ 鍑芥暟浣跨敤鐨勬敞鎰忎簨椤瑰拰缁嗚妭璁ㄨ 銆€銆€銆€銆€ 銆€銆€5)鍩烘湰鏁版嵁绫诲瀷鍜屾暟缁勯粯璁ら兘鏄€间紶閫掔殑锛屽嵆杩涜鍊兼嫹璐濄€傚湪鍑芥暟鍐呬慨鏀癸紝涓嶄細褰卞搷鍒板師鏉ョ殑鍊笺€?/p>
銆€銆€銆€銆€ 銆€銆€ 6)濡傛灉甯屾湜鍑芥暟鍐呯殑鍙橀噺鑳戒慨鏀瑰嚱鏁板鐨勫彉閲?鎸囩殑鏄粯璁や互鍊间紶閫掔殑鏂瑰紡鐨勬暟鎹被鍨?锛屽彲浠ヤ紶鍏ュ彉閲忕殑鍦板潃&锛屽嚱鏁板唴浠ユ寚閽堢殑鏂瑰紡鎿嶄綔鍙橀噺銆備粠鏁堟灉涓婄湅绫讳技寮曠敤 銆?/p>
銆€銆€銆€銆€ 銆€銆€7)Go 鍑芥暟涓嶆敮鎸佸嚱鏁伴噸杞?/p>
銆€銆€銆€銆€ 銆€銆€ 8)鍦?Go 涓紝鍑芥暟涔熸槸涓€绉嶆暟鎹被鍨嬶紝鍙互璧嬪€肩粰涓€涓彉閲忥紝鍒欒鍙橀噺灏辨槸涓€涓嚱鏁扮被鍨嬬殑鍙橀噺浜嗐€傞€氳繃璇ュ彉閲忓彲浠ュ鍑芥暟璋冪敤 銆€銆€銆€銆€ 銆€銆€9)鍑芥暟鏃㈢劧鏄竴绉嶆暟鎹被鍨嬶紝鍥犳鍦?Go 涓紝鍑芥暟鍙互浣滀负褰㈠弬锛屽苟涓旇皟鐢?/p>
銆€銆€銆€銆€銆€銆€ 銆€銆€10)涓轰簡绠€鍖栨暟鎹被鍨嬪畾涔夛紝Go 鏀寔鑷畾涔夋暟鎹被鍨?br />銆€銆€鍩烘湰璇硶锛歵ype 鑷畾涔夋暟鎹被鍨嬪悕 鏁版嵁绫诲瀷 // 鐞嗚В: 鐩稿綋浜庝竴涓埆鍚嶆渚嬶細type myInt int // 杩欐椂 myInt 灏辩瓑浠?int 鏉ヤ娇鐢ㄤ簡.int 銆€銆€妗堜緥锛歵ype mySum func (int, int) int // 杩欐椂 mySum 灏辩瓑浠?涓€涓?鍑芥暟绫诲瀷 func (int, int) 銆€銆€涓句緥璇存槑鑷畾涔夋暟鎹被鍨嬬殑浣跨敤: 銆€銆€銆€銆€銆€銆€ 銆€銆€11)鏀寔瀵瑰嚱鏁拌繑鍥炲€煎懡鍚?/p>
銆€銆€銆€銆€銆€銆€ 銆€銆€12)浣跨敤 _ 鏍囪瘑绗︼紝蹇界暐杩斿洖鍊?/p>
銆€銆€銆€銆€ 銆€銆€13)Go 鏀寔鍙彉鍙傛暟 銆€銆€銆€銆€ 銆€銆€銆€銆€(3) 濡傛灉涓€涓嚱鏁扮殑褰㈠弬鍒楄〃涓湁鍙彉鍙傛暟锛屽垯鍙彉鍙傛暟闇€瑕佹斁鍦ㄥ舰鍙傚垪琛ㄦ渶鍚庛€備唬鐮佹紨绀猴細 銆€銆€銆€銆€銆€銆€ 銆€ 鍑芥暟鐨勮鍫傜粌涔?/strong> 銆€銆€棰?1 銆€銆€ 銆€銆€棰?2 銆€銆€ 銆€銆€棰?3:璇风紪鍐欎竴涓嚱鏁?swap(n1 *int, n2 *int) 鍙互浜ゆ崲 n1 鍜?n2 鐨勫€?/p>
銆€銆€ 鍑芥暟鍙傛暟浼犻€掓柟寮?/strong> 銆€銆€鍩烘湰浠嬬粛 銆€銆€鍊肩被鍨嬪拰寮曠敤绫诲瀷 銆€銆€鍊间紶閫掑拰寮曠敤浼犻€掍娇鐢ㄧ壒鐐?/strong> 銆€銆€銆€銆€ 銆€銆€銆€銆€3) 濡傛灉甯屾湜鍑芥暟鍐呯殑鍙橀噺鑳戒慨鏀瑰嚱鏁板鐨勫彉閲忥紝鍙互浼犲叆鍙橀噺鐨勫湴鍧€&锛屽嚱鏁板唴浠ユ寚閽堢殑鏂瑰紡鎿嶄綔鍙橀噺銆備粠鏁堟灉涓婄湅绫讳技寮曠敤 銆傝繖涓渚嬪湪鍓嶉潰璇﹁В鍑芥暟浣跨敤娉ㄦ剰浜嬮」鐨?/p>
鍙橀噺鐨勪綔鐢ㄥ煙 銆€銆€1)鍑芥暟鍐呴儴澹版槑/瀹氫箟鐨勫彉閲忓彨灞€閮ㄥ彉閲忥紝浣滅敤鍩熶粎闄愪簬鍑芥暟鍐呴儴 銆€銆€銆€銆€ 銆€銆€2)鍑芥暟澶栭儴澹版槑/瀹氫箟鐨勫彉閲忓彨鍏ㄥ眬鍙橀噺锛屼綔鐢ㄥ煙鍦ㄦ暣涓寘閮芥湁鏁堬紝濡傛灉鍏堕瀛楁瘝涓哄ぇ鍐欙紝鍒欎綔鐢ㄥ煙鍦ㄦ暣涓▼搴忔湁鏁?/p>
銆€銆€銆€銆€ 銆€銆€3)濡傛灉鍙橀噺鏄湪涓€涓唬鐮佸潡锛屾瘮濡?for / if 涓紝閭d箞杩欎釜鍙橀噺鐨勭殑浣滅敤鍩熷氨鍦ㄨ浠g爜鍧?/p>
銆€銆€銆€銆€ 銆€銆€鍙橀噺浣滅敤鍩熺殑璇惧爞缁冧範 銆€銆€銆€銆€銆€銆€ 銆€銆€銆€銆€杈撳嚭鐨勭粨鏋滄槸: tom tom jack tom 銆€銆€銆€銆€ 鍑芥暟璇惧爞缁冧範(缁煎悎) 銆€銆€銆€銆€ 銆€銆€2)缂栧啓涓€涓嚱鏁?浠庣粓绔緭鍏ヤ竴涓暣鏁?1—9),鎵撳嵃鍑哄搴旂殑涔樻硶琛?br />銆€銆€鍒嗘瀽鎬濊矾锛氬氨鏄皢鍘熸潵鍐欑殑璋冪敤涔濅節涔樻硶琛ㄧ殑妗堜緥锛屼娇鐢ㄥ嚱鏁扮殑鏂瑰紡灏佽锛屽湪闇€瑕佹墦鍗版椂锛岀洿鎺ヨ皟鐢ㄥ嵆鍙?br />銆€銆€浠g爜锛?/p>
銆€銆€銆€銆€ 銆€銆€3)缂栧啓鍑芥暟,瀵圭粰瀹氱殑涓€涓簩缁存暟缁?3×3)杞疆锛岃繖涓璁叉暟缁勭殑鏃跺€欏啀瀹屾垚 銆€銆€銆€銆€ 以上是关于Golang-鍑芥暟銆佸寘的主要内容,如果未能解决你的问题,请参考以下文章
銆€銆€銆€銆€1)鍦ㄧ粰涓€涓枃浠舵墦鍖呮椂锛岃鍖呭搴斾竴涓枃浠跺す锛屾瘮濡傝繖閲岀殑 utils 鏂囦欢澶瑰搴旂殑鍖呭悕灏辨槸 utils,鏂囦欢鐨勫寘鍚嶉€氬父鍜屾枃浠舵墍鍦ㄧ殑鏂囦欢澶瑰悕涓€鑷达紝涓€鑸负灏忓啓瀛楁瘝銆?br />銆€銆€銆€銆€2)褰撲竴涓枃浠惰浣跨敤鍏跺畠鍖呭嚱鏁版垨鍙橀噺鏃讹紝闇€瑕佸厛寮曞叆瀵瑰簲鐨勫寘
銆€銆€銆€銆€銆€銆€寮曞叆鏂瑰紡 1锛歩mport "鍖呭悕"
銆€銆€銆€銆€銆€銆€寮曞叆鏂瑰紡 2锛?br />銆€銆€銆€銆€銆€銆€import (
銆€銆€銆€銆€銆€銆€銆€銆€"鍖呭悕"
銆€銆€銆€銆€銆€銆€銆€銆€"鍖呭悕"
銆€銆€銆€銆€銆€銆€)
銆€銆€銆€銆€銆€銆€package 鎸囦护鍦?鏂囦欢绗竴琛岋紝鐒跺悗鏄?import 鎸囦护銆?br />銆€銆€銆€銆€銆€銆€鍦?import 鍖呮椂锛岃矾寰勪粠 $GOPATH 鐨?src 涓嬪紑濮嬶紝涓嶇敤甯?src , 缂栬瘧鍣ㄤ細鑷姩浠?src 涓嬪紑濮嬪紩鍏?br />銆€銆€銆€銆€3)涓轰簡璁╁叾瀹冨寘鐨勬枃浠讹紝鍙互璁块棶鍒版湰鍖呯殑鍑芥暟锛屽垯璇ュ嚱鏁板悕鐨勯瀛楁瘝闇€瑕佸ぇ鍐欙紝绫讳技鍏跺畠璇█鐨?public ,杩欐牱鎵嶈兘璺ㄥ寘璁块棶銆傛瘮濡?utils.go 鐨?/p>
銆€銆€銆€銆€7)濡傛灉浣犺缂栬瘧鎴愪竴涓彲鎵ц绋嬪簭鏂囦欢锛屽氨闇€瑕佸皢杩欎釜鍖呭0鏄庝负 main , 鍗?package main .杩欎釜灏辨槸涓€涓娉曡鑼冿紝濡傛灉浣犳槸鍐欎竴涓簱 锛屽寘鍚嶅彲浠ヨ嚜瀹氫箟
銆€銆€閫氫織鏄撴噦鐨勬柟寮忕殑鐞嗚В
銆€銆€銆€銆€1)浼犲叆涓€涓暟+1
銆€銆€銆€銆€銆€銆€(3)褰撲竴涓嚱鏁拌皟鐢ㄥ畬姣?鎵ц瀹屾瘯)鍚庯紝绋嬪簭浼氶攢姣佽繖涓嚱鏁板搴旂殑鏍堢┖闂淬€?br />銆€銆€銆€銆€2)璁$畻涓や釜鏁?骞惰繑鍥?/p>
銆€銆€銆€銆€璇风紪鍐欒缁欏嚱鏁帮紝鍙互璁$畻涓や釜鏁扮殑鍜屽拰宸紝骞惰繑鍥炵粨鏋溿€?/p>
銆€銆€1)鍑芥暟鐨勫舰鍙傚垪琛ㄥ彲浠ユ槸澶氫釜锛岃繑鍥炲€煎垪琛ㄤ篃鍙互鏄涓€?br />銆€銆€2)褰㈠弬鍒楄〃鍜岃繑鍥炲€煎垪琛ㄧ殑鏁版嵁绫诲瀷鍙互鏄€肩被鍨嬪拰寮曠敤绫诲瀷銆?br />銆€銆€3)鍑芥暟鐨勫懡鍚嶉伒寰爣璇嗙鍛藉悕瑙勮寖锛岄瀛楁瘝涓嶈兘鏄暟瀛楋紝棣栧瓧姣嶅ぇ鍐欒鍑芥暟鍙互琚湰鍖呮枃浠跺拰鍏跺畠鍖呮枃浠朵娇鐢紝绫讳技 public , 棣栧瓧姣嶅皬鍐欙紝鍙兘琚湰鍖呮枃浠朵娇鐢紝鍏跺畠鍖呮枃浠朵笉鑳戒娇鐢紝绫讳技 privat
銆€銆€4)鍑芥暟涓殑鍙橀噺鏄眬閮ㄧ殑锛屽嚱鏁板涓嶇敓鏁堛€愭渚嬭鏄庛€?/p>
銆€銆€銆€銆€鎴戜滑鍦ㄨ瑙e嚱鏁版敞鎰忎簨椤瑰拰浣跨敤缁嗚妭鏃讹紝宸茬粡璁茶繃鍊肩被鍨嬪拰寮曠敤绫诲瀷浜嗭紝杩欓噷鎴戜滑鍐嶇郴缁熸€荤粨涓€涓嬶紝鍥犱负杩欐槸閲嶉毦鐐癸紝鍊肩被鍨嬪弬鏁伴粯璁ゅ氨鏄€间紶閫掞紝鑰屽紩鐢ㄧ被鍨嬪弬鏁伴粯璁ゅ氨鏄紩鐢ㄤ紶閫掋€?br />銆€銆€涓ょ浼犻€掓柟寮?/strong>
銆€銆€銆€銆€1)鍊间紶閫?br />銆€銆€銆€銆€2)寮曠敤浼犻€?br />銆€銆€銆€銆€鍏跺疄锛屼笉绠℃槸鍊间紶閫掕繕鏄紩鐢ㄤ紶閫掞紝浼犻€掔粰鍑芥暟鐨勯兘鏄彉閲忕殑鍓湰锛屼笉鍚岀殑鏄紝鍊间紶閫掔殑鏄€肩殑鎷疯礉锛屽紩鐢ㄤ紶閫掔殑鏄湴鍧€鐨勬嫹璐濓紝涓€鑸潵璇达紝鍦板潃鎷疯礉鏁堢巼楂橈紝鍥犱负鏁版嵁閲忓皬锛岃€屽€兼嫹璐濆喅瀹氭嫹璐濈殑鏁版嵁澶у皬锛屾暟鎹秺澶э紝鏁堢巼瓒婁綆銆?/p>
銆€銆€銆€銆€1)鍊肩被鍨嬶細鍩烘湰鏁版嵁绫诲瀷 int 绯诲垪, float 绯诲垪, bool, string 銆佹暟缁勫拰缁撴瀯浣?struct
銆€銆€銆€銆€2)寮曠敤绫诲瀷锛氭寚閽堛€乻lice 鍒囩墖銆乵ap銆佺閬?chan銆乮nterface 绛夐兘鏄紩鐢ㄧ被鍨?/span>
銆€銆€1)鍑芥暟鍙互娌℃湁杩斿洖鍊兼渚嬶紝缂栧啓涓€涓嚱鏁?浠庣粓绔緭鍏ヤ竴涓暣鏁版墦鍗板嚭瀵瑰簲鐨勯噾瀛愬
銆€銆€鍒嗘瀽鎬濊矾锛氬氨鏄皢鍘熸潵鍐欑殑鎵撳嵃閲戝瓧濉旂殑妗堜緥锛屼娇鐢ㄥ嚱鏁扮殑鏂瑰紡灏佽锛屽湪闇€瑕佹墦鍗版椂锛岀洿鎺ヨ皟鐢ㄥ嵆鍙€?/p>