You are on page 1of 372
Perens P cd in Go for the Zist € on. Creating App Goi BieFigz sit [2] Mark Summerfield a tt BEY RU SH F AC BR HB FL i #E dt Ot BHEMUAB (CIP) SUE CoRR Rit / (GR) BERRAE ARIE (Summerfield, M.) 4 ; VFSCARGRE. —- dba : ARM HAHAH, 2013. 8 HB ED BAIR: Programming in Go ISBN 978-7-115-31790-2 I. OG I. OF- Oi I. ORFGH—HYF wit IV. OTP3i2 Fp FURS PRN 43 CIPHER (2013) 380999415 HaRE ABER—ALAMN Go PHAR, VE-AAMN Go BRS EM. BH MMT PARA Go AIA, VAR MTR AIT Go RAFI, BASMAT Go WA MBIA. HEUR—HEE, A MBGERA. AAR IHD, MEU T WIZE Go A PUTMAN RM, Go AMIR, tmiT SARA RE. BE RARBAD REL, RAT HO Go BA. Ul Go FH BARA Go HS MERE TTA IR FRA BERL A HR TARE Go TAR ERMEPE ER EL, UE SPR UATE FTN Go BARE. APAREACEMAANAENR, GC-RUKS MNRAS TRH FRE, AMLAPM RT RE. ABBA Go HABNAHE TEKH Go HARFANENES. ad [38] Mark Summerfield ad Vests Bae fon fA TER HOE SHER BBE AKT ARBRE ARIE REBT 14 tis 100061 FAH 315@ptpress.com.ca FASE hupy/wwwpipress.com.cn ACS AEE AT BRS © FFA: 800x100 1/16 MK: 23.25 Pie FE 2013 4 8 AB 1 He Bs 1-3 500 A 2013 4 8 FLIER 1 CEU PHRAMBES MF: 01-2012-6496 5 SEDt: 69.00 76 SRRARS AR: (010) 67132692 DAMIR: (010)67129223 BBA: (010) 67171154 PSSA: RL FH 00215 ° WSS HA Authorized translation from the English language edition, entitled: Programming in Go, 978-0-321- 77463-7 by Mark Summerfield, published by Pearson Education, Inc., publishing as Addison-Wesley Professional, Copyright © 2012 Pearson Education, Inc. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc. CHINESE SIMPLIFIED language edition published by PEARSON EDUCATION ASIA LTD. and POSTS & TELECOM PRESS Copyright © 2013. ATP ICING Pearson Education Asia Ltd Qa A RMD HR HRC AR HR. AE HAR SPM, RAVE M ARS HRD RAAB. ARTSSTNAA Pearson Education GREY HGS) BOE DIRE, TAREA AE. KOLA, BALK. zor ATER AT REE, BERTRAM, (Go ARE) — A AE A a BT YEW: Go HAL C. Java, ROAR TER TUT IED AMARA ME MAA, BF Go BERRA, HLA Go BRRRAAR 10 PRUUTINE ER? RT Go AMF RMEALRAR LS, Go BANA MAE LARA AE. FARA, RRR NSE, LRM, she RE Go BEARS —MRBEAME ARS. GoBAREAMANEA. MHANRRLD TM. DREAMS. Go BARAK TERETE MG, QURESHI D'S LATA, (ERE eS LEA ELE PE AKG, WAKE MATERA SUA. Go FR ER HR ERE AER EIN CER. MTRO RLS, WATERSS He, 2 Go RMR ie. Go BABREKRE MARE AIAN, BEN A ARE ARAN RAR, FRUBAARS Go HE “HS ENATE” MOE Go HH HIE MIEN AM (nature) (NA. Go RRR INE EE, FEI ETRE ABE, HE TER Tt RS > ABE, ER SSCL, Go WH ARE LAF AEM DH. MtHIt Go BAN ATMIRZE REM IE. Go HMA RAUE— RRL LMI T SEH. BOT R OBER, HF Brlang WE. IEE Ws Erlang D3 Set Aa ALA MEPL. MIT, Erlang PRT BAAS AA RMT AES, HET RE BON BEN HR TROD AVA TI. BRAEAE C++ TT 740% CERL OSE, RIFEIRAE CH SEAHLY Erlang RIERA TH, MTB CERL FMA AERIS ATR, RINT SAU ABET AEE ARRAN, ROLLIE KAN CERL 2.0 NEA. AALALAAL, CERL 2.0 5 Go RAM NTMREAAITS. RHA LIB, RARILEROLCAER, Go HERO DRARARE, RRMA RAT Go HANRERA. Go HHARNR= MRO. Go HEME, JEAN: Java AI CHPATBIOUEE, RAPA AUR. Go TRON PURARBA CIRC, AYRADLESS— MRC RAPER. ASL, UBRAROMER FE Go MAIER ASRRETL. JER ASU C FERRI Go ER MARIA, ZEW CORSREN) HAEIA 2 a R-HVA Java A CHx HEA Ti MEP AISI BABES T 7. CHAS USER, (UE SETET EMIRATE. CH+0x CRIN CHH11) OP ASR GIN concept RRMA, BRLDDAG Tbs. 1 Go HA MROABKAERARROMAMM, Ee Go BARMAN, AEE UE ILA. C1) RERTRAKRT ROBT, WRT ARMM T RO. BAMA SARA EO. (2) TEN 1 RH, FETA (ALG RASAV MN bool, int. string F) MMRAPAT LL WME BHO interface{}. 3) XAHOB. WRHBL Windows BFR, HRI COM BALE Go HAP PEO RRL. IFA Go HART KP RAEI AB SS TIE COM xt SAE tS nN de, HAY Go BREF gc HAWARSAMARE. Go TEER RRA OO Eb eS EA PL AB 5 AT IER MEZ (OOP ) Fike. Go HE BFA OOP HE, WARK. WTB. BR, RHER. RUSS: ROS TBR, HRM this HH BAERE NUM receiver NR. Go HHit REBT OOP BROOME RRM A RESHMA. Go BAHARN RAMEE CNBR MIE. GoBASIAT ABM (error) RMU defer RF RMSHAKREB, ILA RUB. PHEMIF, RESMASAMEM: £, err := os-Open(file) if err != nil ( oe 1) is return ) defer £.Close() sec Go BAHARNBAMREZEDENAR. —TRRA NRA Go PANAUME. NTSRBARK, AER ECRRARM WRAL RL, K— A RBAMAR CHAM struct MBM. GoBAIATESAA HR & CULAR RAGES ARRAN MERE RT, HBT ASR NE tie. ZECHIP, (RRB X—MRE: class Foo : public Base { way 3 Go BR PURE: type Foo struct { Base ) SHES, GoBANESAA RAR MEH: type Foo struct { ‘Base ) SEAN DIAE TT VLSERR CH PSF GME EE AEE UY RLS” 5 {EL Af ASEM RBE, EGA MMA, ATS. Co BAHHRNSC MRE AHR TESA ECOMALH, AFAR REL, ERE. SRR TB RU SAAN BRL (ELLIE AES, Go THE RRL T EBLE EH ER ED HM, BAF EPRT— MNT SLR. RABUN Go BAEARAN RUS RAB BRPAUARE-MTPEMLUE, HAS Go BAMERRAHAA IE Go FRAME TRAN GEL) ERICA, TAH SLA EAR RGA. Ht SAU TEER, HART Go ENA OLE RIEL. Go RAHA RMF)\MRBE Go HEM C HANK. ALAR, Go HART Objective-C. C+HiX PHILA C abhi A Re HAT ABST, NCHARHRARHN—T. HABA UABHRA CR? RA Go. HAR TUS C BAK? RA Go. M CHANTRY, Z Go RRM NABH. WAC We RLA MMAR SS? BE-ARZTRNST BBL, GoBAL—- NER AAEM. RE 404 CM 19704 CRAM HEE) RAMMBAERLS, ASW, LAMEMAL, HRREARRIUA, BH BLRAT CHAUM, HRELSREA—MAEN, 1A Go BRME. Go HARM, HRA SRNR. AA WARARUL, Go HA ERRIERS EM SRINTFR, (URAL Go HAIN TEMA. BUTE Go FAB ARA RAR, REE ARE IE, ARTE RS TE ‘S54 © RISE (424% socket. http, rpc #) ; © GiRSHE (4448 json, xml. gob #) ; 0 RE CAINE, EE, STD 4 Rae © Web (448 template, html XH) . WEAR ROMA LE: GDI A Ul RASH, BABAK R. RGF Go URE, Go HA 1.0 RATE 2012 F 3 ARR, BIBLAEAIE 14, MT Go iH FOSSA TEM MNUA. ERS, BARB “Go BAH HRAH HR” . ERA, LERAORALLEMAA A OM. PEE. GAR. 360. IB. BR. Sei, GE) , AAA Go HA MRSA RUT T NEAR. RARER TR. Go 5 EET TUG SE EG By ARR Aa HB A A SH AA, SAT Go HAM BAMMAL RAEN AD . AR MB RAER Mark Summerfield #5, Cit T M Go HH, 4% Go WAMARER, USHA Go HA RAS PORERER AE. —ELWUK, Summerfield MEFARMBRA SRN. HTM T SEE LARA, CATR Lit HF ES oF See SF BL AES A Be PR AFF RN. VEG 2013 46 A ARTSY ATG ETF Go 5 Fi ATE BAPE DA Depa FE h 1H RET MN Go HEE. FIM, APURU RES Go BA AKRANWERRN. HT RIGA AR, RABEL HHS, RERES—-RAMR-TEB, SHZASWTAA LNA. JABS ARE, Go BES CHHMAD, Z-TAIMRMES, CAR PURER, WHEE. AL Go HRI T 4S RBA AEH ee A, Wl Unicode FF. RAMA RMR, TAM, WRB ARM RE, CL ATTA R MOSHE MBN. AS, Go WH BRET —NEK BBS EE EURSTAIN Go HARTER MEADS Use HET UE, RABE RARLAAE RAE SBE, tein C. CH, Java, Python RICANS & EAHA TER, CHCUTREMLUSZH. it, ARATE, BOAR ASAIDP OT, BRAM P SH, FOSSA, DaeszEtY RBH. EMRUAT SBR, AB PATS RAUB BABE EAU". UE, KaAERA go WOH, HEB BIRLA HATERS PDF SCH, BULA ABT OAR, FUER T. REAM, ALRARI NTE TRA OREN MRE. AS BGA. RAAT RATT LUA www .qtrac.eu/gobook. html 1X MAHER. ATES BEAR Go BAAR, BURBUVEAT Go ARETE, ARE RELMGR. RHREDG, AHABMBRARHT ABM Go ww AREAL EEA RHEE PHARAREAB=SH Go BANA, “RRA A CHa. ANAS Go Go HBF 2007 4, ARR Google AABHI—MHA, SLRATBH-BAE Robert Griesemer. Unix 482} Rob Pike #1 Ken Thompson. 2009 4F 11 5 10 H, Go #AU—T A FER AK AFF. Go HH HM Rit HL Russ Cox. Andrew Gerrand, Ian Lance Taylor VU. R3¢fth WS AEA — Google HIBAFFR. Go BARR-HARMWA RAR, RS) TSR AHR SMM REARS OREARAR. RPT RARET MR, bth BIT 5 Google AT — PM USHEZEILA. 4b, Go Dashboard ik~FIRK (godashboard. appspot.com/project) HiT #SH=AN Go BAA. Go HARE 15 PRAMAS ANSNRERGS. CRB—PAB 21 HHL 2 38 ARATE Eo Go BH WHT Re LAE AH, FPR EH SLL JL PS GE. PONT SET EERE LEA NRA DMT, EE HERE. WUC app .go HIRFICH pkgl.go, ii pkgl.go REEF pkg2.gor ERA SH, app.go ERAT pkgl.go Al pkg2.go AA KH. (HE Go iH H, —¥) pkg2.go Fi MA BABB pkg] .go WAPI, BILL pkgl.go MH Atm RBA app.goo MFRAS MAGNE RK, KHRUARE, MPA KE RIRIR ASA AUN PEPER BL, SOPEMACHT DARA BK A PE BERET 6 BY Go BSF MMR Ahk 2 ie, AE IAA “Go HM Shebang WA”, BM 1.2 45). Lesh, Go HAA FHRAF Google App Engine A) Web INFIFEFF. Go BAUAT AER FRA DT RMI, BRT REN SM CH (RAF 1983 4B) Bh Java (RATT 1995 4E) — AM SRAILK. GoBRE-HRBSAM NIRS, CEA HEF AE RAWEAR NEN D SHE. RM, HH Go BARTREHABE RA WNBA SBT AS INF, REVTAF Go WE RILEY “FBIM” HOSE TS WIA CHP REREAD, ARES), UR ERT AAR KT EH SE RACACHRAMHA, SBRARTEN EEF AAEM BORE, BWM TIER 2, BCAA MES, RAT A SH. UPR, CHER ARASH “Whe” HERETT RAMOS, ERR EAB Java. Be SUSE, Java WUE T EF ASA ER. BUR CHA EBLE —- Mn, AEE CHAERRHARS HRB. Ri, ZC. CHER Java PHS IHRE IR ee Sh BL DR ER LES 2 A TE SP Go HEB METNRAS MA RA. MEARE A, Go BRET — TEU, AULT MEI REFORMAT. Go HEMI RU ET HOE KC. A. R. Hoare $814 A) CSP (Communicating Sequential Processes) BUM, ROB SI+ RE Go BARFRREM ETM. IF, Go HHA goroutine ——Fae HR EEL, AU KEARUE, FTES R OD ATR, DREN TREN HEARN. Heb, AH Go FAHHRRPCA ROEM EM AR, BARA VFS) Go MBS RUNRAF RAM OMAAM, ATTA FES HAL COLTER Go HAA-NSKMA, SAARI, BREE ERR RWB RR (ESE. IM, GoBAHNEANAAP AE NHRHER—-AN, BRAT UAE, BEML. Go BA BRRT ATBAN ABRAM: UH (slice, CHK ABE TH SEKAI) ABUN map, NYS SRIRAM PR, Ht} ALTE KBR FREE LER. 4, Go BARRE (CR MES MNE, O HRRBRAPERING, TRLE AMBIEN. ieee 3m 3 FETE RET EA MEHL), PTE AT DURA AR Be NS, MP NR SUR CHA UREA, Ti Java MUR Y ABR AMR ORME, 1B Go TEE SVP REE FH I iE HEAR TL. Go FEE FT A Hk — a ER PLEA, ENHANSRERLHORE. Tit, RNKREELES, Go BAHAR BMWA CH, Java B Python ERAA, CRRA ACR LEMRIE. BUR CHA, Go BAUR AZM CH CHHERUMERK). Mill, Go Ha PEGE BU ADU BENS HEI BRT YI USC ROL. Go FEAF FOE BS BAS LH TOCMEBMLZRNA—-TRAD, BUCA CM CHAR REES. FB, A BATTAL, PBF URLTCEATE Go TH TRE AY a HILL, (ERMRSLZE CAI CH ‘Fit tdefine H-A) ORR. ATLA, C++, Objective-C Al Java MRA Ry LIF CR Cae AID ey T REY CHIBE). RE Go HH FPR NEAT iL AALS! Python, Go Fm MY) HABE thE MAF Python HARMS, (2 Go HAHA LRU ARAMA TEIN Co Ri, SHE MMAR, Go RAAB RAARLMBE BET CBR, IFTLURUARET CRIT AAO RRA CBA PNR, FNMA THE RATA aE. Go HA RMR BA— TRAM ADARARY RS RAH PB BIG FR KATA NRE RRR RRBES. BE, Go WANA RBH T BOE Ry, Ee ERAM-TAAREEP DEAR. 1H Go BAF R MEP RAE B RE — WER. ABS 351 SPAR VERIO TEL ALE AT Go FEF. R— IL 5 MMAR DIMI T Go HH DUPRE, DLR —HEERHERE. E-MAIF ARIMA T OR REE. KEBLE T ILE HAR-F Go HA, WMA L— PEN Go HAHELANAKBAARHA. G&-H ERVEE T WTR MRK Go HAA.) 2B 7 RAT Go RAMA AME. SPHSE ST WHRT Go HAMAR BURN. 2 RT ERA, TARR, 3 RR TER, 8 4 HRT Go i SABHA. 35 SRIF Go WAAR, TERRE T In Ol Ae CA SURIBA T WUE Go HH BR — LER MEF REE 6 RRA T MME Go BA PUTMAN AME. ABN AAT AT RA RIRA CB FG) SRARAS A EMIT, BT ey — Mane BET, A Be de EAH PES OL AR BR. HF Go BA PUTHANRMEN ART RSASHRAMBMAR, RBS DAES TIER UE, CURRIER TE MF Go HH MMR R. 7 RUMET Go BAHIA, SHANRRE-BH, R-RHHT ESE, 435i DLR A RET Go TAREE AEN T FE 8 ERT MUTANS A SE RAEI. Go SEF) (gob) ICH. SCAR. ISON WAZ XML Cf. GERAIS ARAM | BAER ILEPMAROR, A wikse MRA CLEP OMEN AEA) ARR HEA 9. K-RARRT OMSAARAERA. AELAURB= FEA. CRA BE RARE TIC BIR. TCE. IK FEM Go HER (gc) AEA T ASR Go HA ARE PEMA T NSE BEE. Go BR BRS, ERIM HATE BRAD CE BATE SATE) NE. ABNF MOS BIN Go HARRIE. UR, RRM RT LRSHNRS RAR. LRA, ANS RSA PRT OR C4 DR, BE PRR ABS IE S| TE ER Gok TTAAMTEE, GAR IBRAEM. 42] Go WARMED MAAR, HE AURA TR, MSA RTL EAA. AREA RS LIN GB RHAEMAMRN Go FAWEAIER Go BAMEAH. MURA MME NY we AE ASABE SOS, UE HT BG mG BEE a BUT EE BA AHI Td AE TE HTT D RBA — Alok: WTR, NL ae EO SR, RATA A A. AA 7 SILO OL RAR APIOTTAL, HAP, REALT UL Go EE DURE RE RRA T RSE ARAN MARK AN SRN, AFABIS. RAMS WBZ ALA Go 18S eA He HE Bh HX —asmin Blanchette #l Trenton Schulz. {tT 8 BE Wy RAT ARIES «AA TRY ARTSY A LAH REE TT BEF AE Go aM he. KE Co PFRLARA Nigel Tao MRAWULAB LARS. BRRIFATES RAHN PT ABN, AM ROB AR, BETTI A RK HS, RABMHMAS AMD, B45 Go HAMA David Boddie. (hie T PHAM. FIN, Go HH HFF AR Lan Lance Taylor $$ 5i)4 Russ Cox WRMRT BEB Be Peee AiAL, AATT RAR EP APP AC TH AC EERSABN, RAE golang-nuts RPM WRER TS FB, ERB MEMAS FBLA Pha AS BBR ASF AIS. DRY, Safari LAR LAT RIS Rit, JATTLEA SF AS — EBERT T ABS» BXAIMMAA www.develer.com Lk Giovanni Bajo FAM MM, BREEN Mercurial RGAE SRS, URES BK THEO. WE Lorenzo Mancini RREBTARA BARI BE. FR, BthaE MAB Anton Bowers 11 Ben Thompson, A 2011 FE, RAM www. qtrac.eu RAL TEMIIN MSa b ‘Wi Russel Winder ZE(LAIME www. cussel.org.uk ENtieee SANS, HfE BP AES BAL Mb TB BRAY. Ri, RE— WEE EY lout HRRAMER Jeff Kingston, RAANBURAS Ith HE A RA SH TT RSA RLNVH EAA Debra Willians Cauley, EAL RO HS HAGEL, NEAR NSPE PRAT LSB. FU} HR RIE Anna Popick, ALF UCH SAMAR eS MU, tRNA Audrey Doyle fii (6 . SWE, REE BWRWRF Andrea, Wu SH. B1R SIF Ll 1.2 13 14 18 1.6 americanise mHl—Xf+. BNA 1.7 SARA EREIEEE LMR 18 42) B2e 21 3 22 23 24 ARAM 3.6 FREAK. strings 4 - strconv fi ~ utfs unicode i ~ regexp 4 37 38 4 41 42 43 44 45 BSR 5.1 SER S11 RR ak 3 6.5.1 FuzzyBool——7- (ii 8 NF 65.2 Shapes—— #5 AE NAM 65.3 AFR —— PRA RAL Bee keh 81 Ae HERI 8.1.1 AEE ISON SCH 290 8.1.2 SbHB XML 3cft 295 8.13 ABE CACHE 8.1.4 SEE Go iF BEIT HE 8.15 RAEN 8.2 JERSE 8.2.1 GE zip FCF 8.2.2! QUERY Ma AY tar £2 ~ 8.2.3 ARIF zip JARS 8.2.4 ARIF tar VICE 83 HD 4 BR Boe a- 91 AEX sae SCH AI DR ER SEAR IN ~ FARA 95 BARA WRB RSA AEH - BRC FEE ~~ 818 5 TAF AERA S TURD ORO. KRM T Go MERE KA bl ESHA BM BUR RAE, 4 Go HAM (LE (package), KAMARA SAA Go RAMEE), ATLA > Go PAMBA-MIFHNUR. IRA BRE BRA LAR IE WLI BEE, ANAL, AS HE ITA BE BD A A HR. BQH Go AS th Go MARAE REE — HE A LASER. MSR ABE C. C++, Java, Python RSH RAE AB) Go HH HLM AD Go HAH EM MAMIE PEAR SALLIE . TOURED Go TERIA OIE RTI, ABR EEE 48 Go PARAM UKT. MURMARA RSNA EEE, WTS, a WTB RS. 11 AG WT RAT REBAR ENE TERE, Go BARR RAE TE A a RAN. CoB AMER, HERR, tin Cc ACH. CoRR MA AREBRAN oc, GRETA 5g. 6g Al 8g, BRIA 51. 61 M81, URIBE LA godoc (4E Windows FAH Sg.exe, 6lexe F). KEARNS WF Plan 9 ERLE, PAAR AAR (5 REEARM, 6 (CREDLE Intel 64 fiLsb BESTE A) AMD64 32H], THT 8 JARRE Intel 386). ER, BANAL OMT MALTA, BL NGoRARRT AEN go HMMA LA, RHR ee A EE a» 2 81 5 IF GoBWH EAA golang.org, WHT RH Go ARH. IH Packages M3 A Go PEFEMMAT RMT, BRAT HACWRE, AXATRAMRELED AFH. Commands HHA GoBPNSSTEF, Oi Go REBPHRIAE. Specification #48 = Bak EA. SHIMMY Go WW HIEKM. HE, Effective Go Hie APT KE GOBTARETR, Go BER ARHMA REST ADR, KTVERAYR PERS. MEU RI Fi GoDEH (ABA ERM). RAVEN TMWEA TTA RAR, TA RBB Go ie HHRMA ALH, RETAKE tmt CERRAXABA LAURA regexp 1H EMRAAURS. FRHRRWERRE TAH. WREERS ILM Go BARE, 48¥] UW go-lang.cat-v.org/go-search. RALTVAAMEREA Go BREAK. RAAMEE, ABET godoc L Hy BATH ERA-T SMU godoc 4TH Web MAB. PHRA T whe —4 Unix 43% (xterm, gnome-terminal. onsole. Terminal.app RH XMUMEF ) #3847: $ godoc -http=:8000 RAE Windows WASP (REST AER MS-DOS 4 4 HF): C:\>godoe -hetp=:6000 HPMOS TERS, RETR BUTS BMO EH RRT. BR godoc + AWARE LBSUPE RH PATH ARR EH. 3847 godoc J, RRA WKBAF http: //localhost:8000 MALAI Go WEEHR. HARA XARA golang.org HH HAMA. Packages RS EBA GoBAHE AMEE MARE conoot FHS= ALAXX. wR COPaTH RH LS FRX (HAAR FF EL AE ), Packages HH 10S WILE —MER. HAT DI FEE PAE BLESS (RAE COROT ## GOPATH HEAR HAHAH 9 HHH). EAE BLA godoc #4 ABE MEMO RE B40 Mi HS fil HY SO. Bld, POR EAT godoc image NewRGBA #4424 lH XF HH image .NewRGBA () HH. AAT godoc_ image/png #4 SH ti x FIE* image/png 4,84) X44. APTA ARB CTU www. qtrac.eu/gobook.html 348) CE Linux, Mac OS X Al Windows °F EFA Go 1 Hit) gc SiESMRILL. Go 1 SHIFTED SEBT A EAD Go 1x Hi AAS Go 1, BULA TAS RAP BIE T AE Lx BAM Goo CMR RA AREA WOR, BAS RTE ABIL SBM Go RATA. FALL, BEATIN Tal AE PASE LAURE AT AERA SP TR AeA A.) EEF RAE Go, HI golang.org/doc/install html, WEA SORTA PRR FERSAPIN, Go 1 BARAT [IEFAF FreeBSD 7+, Linux 2.6+, Mac OS X (Snow Leopard #il Lion) 12 wa. wen 3 ULB Windows 2000-7 IR CIGAN— aI, HELPS FSP GAY Intel 32 {ALI AMD 64 tr SUSBESIG. Sb Go 1 WEE Linux FA LK ARM RM. HREM Go 24 BAGS Ubuntu Linux UBATICP, MOPED EASA AY ESE EC Linux BTML Go RA. MRA AT SEX] Go WE ETBRFE, HA Go eee EL SERRE MSL SHE AD ZEAE Go FEN AES « FA ge HAUL P OU —AP Se Ae. ROTH gc POINTER REE RBA AAA EHR, RAMS GO HLA. Go PARHERF EU cgo TAR (golang.org/cmd/cgo) MBSA ASM C HANS. TA AWA >ZE Linux #1 BSD HK SP ABATE SWIG LA (www. swig.org) 7 Go BF HINA C Al CHIR At. BRT ge ZINE ABA gecgo fit] Go SPER. REMAN Go iH ETH goo (GNU S#1F TK SD) WILLA. 4.6 VU EMCAH goo MASALA. Bee, googo th BAERS Linux BATHE PRR. SPEAISAE gocgo HTX TMLL: golang.org/doc/gccgo_install.html. 1.2 Sah. BaiRASTT Go FAFAEA UTF-8 $a H4E Unicode SCARS. AAD CREAR BaD ihsERTS, I A ARTAT REIS Go HEME SAGE. WRN ANF Go TER, WE Go RA AM NGRETM MERNAT, BERETA. WT RTE, AlN Go TE RIE TRIBE REAM ASCH Sa 7, (EE Go iP AURUME RT LUELE— Unicode GSE REARRATF Unicode FREE, ROE Go ATTRA TT LICE CIS Bee EF AAT ORE Shi aA Fa BUTE AE HR, Go AF DUE A Unix # HEH shebang #! WAGE. AMNEZLR AGENT AARAWAME, ERZARARRESAAAMREMED #8 #4 TL: gonow github. com/kison/gonow )## gorun( wiki .ubuntu.com/gorun). ERR gonow RHF gorun BH, MURTAMN PY HAS RHER Go BF YK shebang BKGUH. #45, 41 /usr/bin/env gonow R##!/usr/bin/env gorun & malas tain() BH (4 main GE) Wego XAT. Re, HXRER TT Go chmod +44). RAR MEGA gonow Ra gorun RHE, WTA PEA RRR, | AHH dE Go A HARE. 4 gohow R4t gorun BAMTI—1.go XH, CARI (UR, AER), Rie ft. EME ARANET, RAYR}.go MHA LAME SLAB KET SARK, ARAL Gp BARRA RAH ALARA Ae, Hele APES. AT BEF UUM, PEAT Go BF, BHAI “Hello World” BPI (BL © FE Windows SABME CINIZAEA) AEH Unicode MTBNRME, 27 UTR-8 STB LALTERMMHEA OxE, 0xBB A OxBE FH. AAR OLEAN UTE-8 APPAR 4 BiB SMF RAMSAR CAMARA). BAAR SEIT, GLE RAEI hello/hello.go FHWMRH, AA EHS T—H Go Ha HEA BAAHE. ANTAL WUA www. qtrac.eu/gobook.htm] AAT PMA AIS, WEAR HE Be goeg KHER. HUM RBATESHOME SHE PAPE, WCE hello. go MBBS FESHOME/goeg/src/hello/hello.gos WICK A BLA, BAER DIF URE EI BRU BMSHOME/goeg/sro MA, WATER TOIFH hello BFC BREW hello/hello.go (4%, Windows FA PubZUHE “/” FH “\", FIR CUR E11 8 CAPER BE #8, WC: \goeg R#SHOME-PATHS\goeg #). DURE GRE Go BAe LA, UU GEEIF LA root BX Administrator HIS tt 28, BARN RAP WARDHA GOROOT, EAT Go PRARNME, FINA PRISER PATH PEMA DAWA SCOROOT/bin R&GOROOTS\bins RHF Go RAK REM, TE (xterm, gnome-terminal, konsole, Terminal. app MAAUMLA) SMUT SOMA: 3 go version BLAZE Windows Ait) MS-DOS fr Sea HO BA: Giibge vermien ‘WR3K FH “command not found” Bk# “‘go’ is not recognized...” KANE E, RAF Go ATEFPSISER PATH H. BUR ERFA IER Unix ASE (fH Mac OSX), A—“ME A RORRINE, BUH ORSERIN A bashre (AIH shell BAFRARWOCE) Pe pilin, fe i bashre MH AR RIL: ‘export GOROOT=$HOME/opt/a0 export PATH=$PATH: $GOROOT/bin BRT, MAIR ILA BBM ASE CHRIKAALE go version tre ELAM A TEED. TURKU Windows AS, ATS —/M ERLE Go REM, UTI SARA OUT Go tr Sm SEATX/ MEA AIA. ALES HERE Go i SEER, HAR. DURE, UCR “FFAS” CARS Windows Ble), “SHER”. “FIRED” BR CBRE", ERB MEP Rit “OORAERL” HL, Ria rit “Simt...” BAL, ZEA —T GOROOT tr BNRUR—MESAMA, WCAG. ZEAE REE, Guilt PATH FER, FHERLBRINAICH;C: \Go\bin —XFFANAS BREE! EVULBEE, FRALEY Go BEIREME C:\Go, MRIS Go BRAVE C:\Go ti. CEYGHL, RATE go version MSR FAN A REEM.) SLEERAER Go TEMPLE LARTER, IH Go bin BRAS PATH PATAM Go HBT Ke (ATUMRELRM, WHALER ATi oT AO.) 12 @8. @EMEA 5 RGR, ABPRLAN: WEMBR. HARAL BH go WELAMH. go tt RLAPMLTUMRAMRF MAME, FAT, MRNAS HRPM BHa Ho. ik go HHRTARSHRAMEFMAMA RM L=ETAH. HIE, Go MH bin A ($GOROOT/bin R# %GOROOT%\bin) BAAR P. HK, VAA-MAF sro BRAY AR, HPARTAMEFAAM AMES. BIO, ABA PI RM EMLED gocg/srchello Al goeg/src/bigdigits AR. BA. sro ARN L—-RA RMA HMA GOPATH +. HM, AT (8A co HBL AM BABIN hello AEF, BAA: 3 eaport GOPATH=gROME/goeg $ od M pledge dete ge ad $ go build FANE, Ze Windows bth AT LR: C:\beek GOPATHAC: \goog C:\>ed | $gopatht\sro\hello ciAgeodAsrelnetiooge mel DLE PS FHA PATH BAER LB ALA SGOROOT/bin RH SGOROOTS\bin. HE go MRL AMR TFS, BATRA US RST E . RTI RU BRE TRL ARZA—K (pilin, 7628 Unix RAVE hello, t Windows RF hello.exe), —H HRTEM, BANAT LATIMER T = ./nelio Hello world! Re $ .fhelie Go, Programaera! Hello do programiers! 7E Windows Fth24 (0: ee \ebehe seein Windows Go Programmers! Hello Windows Go Programiers! SNARE ANCK GAGE AERA NS, FUP SSRN Bae ANG. BAER SHARES, RE TABRAR Cul Windows Fit) C:\>). A-MATLERAN A, RN CGRERA GRRE COREE hello.go AAT 3 MaMER TIN). KATA Go BAF UU RA. URBANA BILD Go BF, MRENMTIMTEFRA RAE TARP, PR ATAU HERA ARMA BY PATHE, ROBBIE MITT. SBME, go RTARTA DAP Ay ORS RAE AYRE: $ exporf GOPATH=OHOME/goeg § ed $GPRATH/src/hello OD HFABBREA ge MER. (EA gecgo MRA MEHR golang.org/doc/gccgo_install.html Pit ‘SRR RUE aL SACRE «SAMBUCOL 6 Bie SMF $ go instal FIPEHB, BUITAT DAZE Windows LIX RHE: Gi\baet GORAREEC: \goeg C:\>od igopatht\erc\helic €:\goeg\sre\hello>go install go install #8 go build PrmiNL(FE HIN, MEAT, BH RTSMT ICE BARRE P (SGOPATH/bin R# SGOPATHS\bin). ROH, AME PATH Pn £-*+4i—BH4% (SGOPATH/bin RR SGOPATHS\bin), BAMA RRNAA Go BFS @ZE PATH PATTI EE — Be FA Be TT. RTA RREZ Ib, BUT RAE A OMT AR FIR Go FRI. BUABIET AN, BATTLE CoPaTH WHER ERATRAS TUE SAE CE Windows PEUGS4%). Silill, export GOPATH=$HOME/app/go:$HOME/goeg H# SET GOPATH=C: \app\go;C: \goeg. CPEIX-MPRI FB 2 UME IT A VEE AEA ET RA, SHOME/app/go/src R# C:\app\go\sre #. Ak, MRARNAFRT—M myapp Me FR, GAN. go WECHPHHILF $HOME /app/go/src/myapp BK# C:\app\go\src\myapp. fl RBA go install 2—*+ GOPATH ME THRE, TA GOPATH HMERAS TH PRAMS DME, ABA APT ICH ERO AM DRG BRIN bin CHS JM, EUCHRE Go FEAF AY export BLA BLE GOPATH FEMA ABARTH, PL A MRE SER. WHR BARE, I Unix RAABA.bashre UH (HA AAAISCHE) WEE GOPATH WME (SMA AIPM gopath.sh Xf), Windows EAH HRS — MEI (SABA PM gopath.bat Ht) RSI GOPATH BARBER BERL: HO aE “FPORSEA” GIRS Windows Bi). “HSH IR”, “RAMBR”, “RB”. TG BARRE", EASE EY Aik ORE” BL, PR BTE..” HL, ee MA—TUL GORATH fe BHF R—ME MHL, 41 C:\goeg BR C:\app\go;C:\goege EUR Go HA WREAMRLAL go OT LA, RiNseeA UME make RAR LA, RAMA MME Go RAMA IA, RAB MTR RIE Eclipse Ml Visual Studio 2238 38 HEH RBET Go THEM. 1.3 Hello Who? DERM CAME EARE—T hello BF, icRNBHEMRG. REO, A EARAN—-Y (URESHAD CRHNR TP OA EMR. FETCH hello BF CEE hello/hello.go #): // bello.go D BEFORE Unix RA SAF, FELL Windows PLT MA HRs LATHER. 1.3 HelloWho? 7 package main import (0 "strings" ) fune main() { who := "World!" © if len(os-Args) > 1 { /* o3.Args[0]B"hello"#"hello.exe" */ @ who = strings.Join(os-Args(1:1, " ") ) fmt.Printin("Hello", who) @ ) Go HH CHRURARER: RAAT, ETRE, [1 RASTER. Go APH REAMTER, TSTMS ETRE PERRET TB. © HAN Go BARBARA F—Mat, B—7F Go BFBLAGE—F main UK —+ mainQH. mainQReaeVEFHAD, ERRATA ERT. in b, Go PMB AAA initQRM, BHF main () MART, BUTE 1.7 TRB, K F init BRINE 5.625. BERNE, ALMRBAZARSRA MB MRA. Go ARETE RTA A, BRT BUITA DUR IR ERICH. Ze CoMEBAK, WRATH SARE, BAER ARB TM, BEE DRA PS EEA AS EEA SAS, BATT A FR HE SRD RATS NG, VRE UEL, BUTS 9 RBBIAKAR. AUP AY import HA) CRENOMIA) SAT 3 MRE PIG. tme GHC RMKXAMEABRKAN BIH (SM 3.5 HH), os RTH SMRERAAME ARB BG. Ti strings WMT MESH MBM (SIL 361). Go iB AREAS SAS REE COUR EAP PS IS SS ES $0), FAN Go THE HN ERMEPE BE TOA BD RE ELI EE MET AIS, MIKES ATH strings fh. tH FT WAM Fix LEM: A 1 Oe FC ISA a Hy eS A ET BR AVRETE 1.5 WHER, IEE 6 REPEAT). ESTRHASERAATPRADS, ABA import WYNAL SM, if BAU HEARD HBR. TE GoBAH, AAHRAU REAM (Olin if HAM for 1h FREAD) ZEA TEI SEI. EE T SER BE. ABRAM, Go PANEDAUAS TIN, (HR eS ASIN, BAP a DA. RARNRBEA Th SAS MED. RAPSRAREORNES MBS, Go BE MEFEAR RE, HAT LAR REoaS FCI Hh a Re Go HA NBBRAAEUAES func EX. (A main Hf) mainQ BMRA > CBE O ATHAP BETA, RIERA — sei TREE, AMSAT RA? CO, AUDT TIRE. RAAT Go HAMAR. a) 8 M1 SMF WASH, HABA. Amain.main()Ts#, BFS AIL ARE RSBE 0. TM SATA ORR, IHREI—+ ECR ANB EM, RAR RE (BR14). main () BECHARA CREO) (AT = BER, ZE Go TH ETP mY eae ae ae PAR. BRAVA PML T TER, HRER RMI FARM AER, BI Go BST OI PES MIR. UBT TR T+ string ee Ae who, TAHT go PRAM, BR AEH string WAAAY who. ROKAS BGS SLA if AAR TARSAL, EK ITE if BARAT MOT PRAMAT —TF EB, MUR RRS UT ANA SR. BASLE ARE AB (SRW) RAMS (SH 5.2.1 4) PRS oe nH ie BA. REN os .Args EH—+* string RAM REO). MA, WHAM LARA AUGER 4 PEAR (BIL 4.29). ERA EMT CEE SAE Lena PARA AK EEAD AD, TTD TERRIA CLL (1 SLSR PERE, SRE —‘S Python if WFR. PUA, slice (n)BAWH MH n TIGR OO FMTHD, TT slice [nz] MR FA-TMEMAE n TREAT. ERAS, BUTS EE Go aT ERAN. MF os.aArgs, RMHRREDAA—T string HFKSNZF), SEED HALE RSW 0 (Go HA PM ARS MEM 0 FFA). REAP MA-TRETHATSH, Lf BUNRAMRILT, RAVE STRAT FASRERR— TFB IFRER who EH OREO). CER RUBIES (=), rt RBA BRS RET C=) A, RAB — Eth RT eT if SORA MAK who. strings. Join () HMMWASHAU—* string RAM HAP SYRRRE CTE PEER, AN) EA, SBI RE AP BTA SE a RE EMTS TH. ERA ERMA EA ENERERERMTA MANET BER, Ba, EB ME OREO) H, RATE Hello M-TH, UR who HP HY PRE, FASTA. fmt UT SAT BRK, teen fmt .Printin() & SET EMMA RIAA, TOR fmt. Prints () MURA Aree BaF BAA A HIRED. FTE BOGLE 3-H (BIL 3.5 5) TRANMALE. AHH hello BFR TREMARAEF TRALEE. PRA ‘it SERS, EGR AS PRY St HAT PDS it EE. PASE HE, AB AE RH, LLB TER. AAT ALPE ALY Go BEF INNA —F Go a HEA SA. WR, AERA MOSTAR eS ip 14 elie —— sey TROVE bigdigits (WIEE bigdigits/bigdigits.go) M@®@S1TM—-THE HEA ERERRA, PRT HS TSH HH Br 47 BO. ELSA) 20 Hee, 14 A*F——HR OD FEB AA PSEA — 6 GAT ST EULA DG, EE A Se OD A PAT EE SS INAV TH CLARA Se, Ce ATTA 2 AT SCPE AR HARE ALT IRMA PBR AREER BUTS 3 BR TRIE: HSCS import 4}, WR LBSEGE, FZ RE FREE. WTULKANETMRATAAN DR, RVERE RMT AR, WP: § . /bighigits 290175493 z 222 jae 000. 1 77777: «55955. «4 9999-333 a2 600 4b es ae 9018 230 a5) 2 SANS Oe ek Oe, 449 9 gt 2 p99 0 80 1 67 «555 4 4 999833 2 900 0 Re 5 44gtaq 9 355 2 SEO nD lava BS | a ae 22222 § 9 000 4107. 555 4 Peete : AEPAFAUEH, EPP TEG RRA DA RRA, BARE AT AI BNOLG BRA TRA. ERBHOEZ A, BUST ET AOE FEB RFA ULE 6 longWeekend := []string("Friday", "Saturday", "Sunday", "Monday") var lowPrimes = [Jint{2, 3, 5, 7, 11, 13, 17, 19) YROREARA (Type, MRRNSB AN ERLE, eR ES, HSAR—-TMMAMNTCRAN, FECRLAAGS AM. ARM PRMD SUT CUA LP RIZE ROE, (LERMAN LowPrimes HM BIRD T AM BHEHN POAT HR. AGATA RBA RRS HH BE. AH BST IE DH, BATA RA SNES HEISE A CLI TGR AAU OH DT ES bigdigits BFR MEI ANMa: import ( "Emt" "log" “path /titepath ) fmt HET AM AAT UA (SIL I5 WH). log WET Aa fk. os BRHMHETALANRERTBURRMEM, LRAT RH STSRHRMY (string fi) os .Args Ea (UFRRM HUT). ii path APH filepath FAMRHET RET SMEAR. BERNE, UWE PAANF SE, ERAT GPA RRR ERAS NES MEAT OTLB ERLE filepath). MF bigdigits FMA, RGR RBG (FIBA NAH). PBA Fa ESSE SEEDERS 0 HEI DA PR as SFT 10 1 STF 4, Ritts TAS 3 Bl 8 MEE var bigdigits = (1 (Vetringt "2", 22222"), 9", "9999", © om,» gm, om, BRE RSME SANE ARE = ERE, (EBITAT LB ES var FUMES = KAAS MAR, PAPI PRY bigdigits FRAT WW. RRZ WRN lowprimes FAM CARAT. RRMA eB bigDigits MBGEARM, HA» Go HA ARH RUAN HET HES HARA. BAHEH ALES T Go Ree, AULA eRe OH MIAERE. Go HAMAS AL L-RERG ROME SAA ORA RA, AAA TH RR, SE WIRTH AEE E, IR, XA EAT EAA. main () RRMIERA 20 TTR, Ste SATII ARR Jee HH ER fune main() { if 1en(os.Args) == 1 ( © fmt.Print£("usage: $s \n", filepath.Base(os.Args{0])) o8.Exit (1) ) stringofbigite := o8-Arge{1] nge bigDigits(0) ( © t= range stringofDigits ( © tringOfDigits [column] - '0' © digit && digit <= 9( @ Line += bigDigits[digit] [row] +" " @ ) else { log. Fatal ("invalid whole number") ) ) fmt. Printin (Line) ) ) BFCAAAOM AAA OTEK. WA, Ml Len (os.Args) HHH 1 (BNL 14 ARE—CHR F, os.Args (0) #RMEBFZS, AUX MIKE Bb 1), A it RAR, WAL fmt.Printé () BATRA, fmt. Prince () KGL, RUF CCH P prints () BMNKPAR, WR Python MRE HMM ETS A 3.5 5). path/filepath Hitt T PPR FRM. Led, filepath. Base () BIBER ERE Fie CSERLALSICS). MUHIEVE, FEAL os Exit BGR, iI] 1 PERSE. TEE Unix ASEH, PFIBIEL 0 FeRTN, PRAM TAM. filepath.Base () MANA T Go BAM —/MEMMIIINE: ESA—Man, 76 CRE-PRAABEAT HA Cl path/filepath), RMIRHECAAS ENR ARAAE Chl filepath). Mi ARAMA WENARNRETAAM— THE UBR ES Be ARATE 9 SEAS AAI ADE BO PEAT BD—-TH ST SR, RUNSER—T MATERA stringofDigits PERRET. ATROHAPRAWRTRRNAKS, BUTEEBEG bigdigits Hib HEAT, HER, BERET, REBT, SA. RAGA BY bigdigits HHBUAT MTHMTRM, AULRNHRAT B—TOTTR. Go BAN for MRASTRAAMBAUM EAA NR: ATE © MO HIS A RET for...range MAREE ET CRN RIE. FT PTEE ABT ANAT ULF dB RS row < len(bigDigits[0]); rowr+ { mn := 0; column < len(stringOfDigits); column++ ( RGEC. CH, Java FABIA, AYR Go HE HST. (HUE for. . . range Hk WUSRAEG AEE (RSE 53 Whe Go BAP for HANSA). CBM ATL HRS line FRREN—-TESAE. RBA MEBRIM stringOtdigits FHI AKRAE). Go WS PWNS RR FARA UTE-8 444, UE TRE RS ES. IRE HAA Bh, BABAR Fe BME OB) 9 MH, RMSE LE UTE-8 PARRA TS EAU RATES 7 ALK ASC PRYETE— BL. (LIRPER 3 HBA A be — TS AFH —TPER, TEP NSHERS WERE FA) SRNR ITERATE ROA, BAT BRS MLB A byte HAY HOME (4E Go HAH, byte RAUF uint8 A). HLL, RATTAN OTA NSH SLE BUNUN byte AMA, AAMAS 0 MALE byte AANA, LIEN ALE ‘HE. TE UTF-8 A ASCH P, FFF ‘0’ HRN 48, FHF 1 IMME 49, LUE. © SC. CHUR Java HA AAMR, Go WHA R ATMO RASt. T—E eATA SAT CAS RFA ARE A. SRR, SAE MSRM MAR SezE Go TEP AR—BI, af RBM, Gow APRS BH £ (i++) DT ali] ab [+41] ARMAS. 120 B11 SMF VE, (RUBY BIE — PPR 63” CONVBHY 51), ABA BRAT AT WUBI ‘3’ - 60" Cth, BLA 51-48) RAMA NAMA, LET byte RMN HMM, 11% 3. Go BR RART GRRL, T—TPRRERE— TG Go 8 AH ee IE AEIERIRC. Go TE HYTRSS UGE RAT BATA MELE I IAT PE int 32 3S WA intl6 RV ABA, (2 Go BARMAN HREM A CML FC, BERS EFI, ‘0’ HRB MUE—* byte RM. PUNE A, BUTTRESS RR AATH GE if EAP EO HO UR byte RA, HW digit MEARE byte, (HWUR digit ZIMbIM—~WAM, Loin int, MA EAE ARS ARAMA). BUR Go HAMNER LATTE, (+= MBE Go FARHAN, ERLAHEN, LARS EBS T . Fob + BESTT HARSH, SEILER RITE ATS FE 3 ROR SE UE T HEI. ATRANNHLER, BUNWANNTRF MN bigdigits WHF MAMT. WRAP T EH Cee TAREE), BATA log. Fatal () RBGAR—® HMR, FEA. HAMAR, WRRALAECRABH, MARUAT MD os.Stderr, IFIA/A os Exit (1) SibRFNEMT. AINEA—T log. Fatal F () BHT BLAS. EB if BBR RA log. Fatal () BR, HABNABE ALPE FR, MOAN APSE BY PAH log. Fatal () BAMWHSAS HTB. SEPSIS ER RR, ATTEN. ZR MOF SEA 7 TE FA, AWE digdigits FARWH NMEA RIA RRA, PHAR SAE ROMER RBM. AIL bigdigits/ bigdigits.go SH, SUMTATAZE main () RBG bigdigits RH. LAMITH, (7 main () BSGERT, BAHT IT SU eT Lid FRA RAMIF PRN BE BMAAD RA, LEAT Go He SHARE AA WU —PEDHRE, BRT EMA RS. BPR 3 MIT HERAT REY, FERRIER Go 1 BADIA, HOUT Go RARE, SCA CARR) AUER Ht, LBA goroutine MH (channel) UETITHES. 15 B— AE LRH BR Go BARHHANSRE, A CRRARUIAMR (isa KR) AAAR. LE GoBARHUS ALLAN, WMARADABRA (has-a KA) Hit. Go HAH HATACLOR, ANKE TAM. BTAVA-HEA DMSO, CRORE AME CHEN A SHE) AT ER RSE TTR, TAPES. GK AABAIZAEARLIDRN: “WMREERRAMT, MDKRNT, CRA—-ROF.” FARE, RT PERT RRA ZINN IM RGAE. (ORE Go A SREP, SRF RATER DAES LMA. 15 &%—AEXKBRRAK 13 Go WHA A Mia in bool, int WM string PRURRAA, RA struct RUBARMUMTRA. °Go HM AE NAMA UERARM, struct MARAE SANZ E. QNSERB HES -HMAN AF, BI 17 4.) Go BRANES MESH AEN. HASH MESAMS OY, TLR, 1 PABEAT ERT INE OX BASE 6.4 SVE). FETS IN BE RRA LAI, HF EDR MMO. th A AE ESE HL, TAA CORE PALS, ASST “AEN” Mee NM). BOWR-ARM, WLTE AANA. ROBIN, ALATA tee MRETAGARDTRT ROA NT, BARPRORBUATAT BEN. th BRA BL, NAH 2 (1 (LET dE ER, tT 2 OB EH. RT, ABBA MAR AROMA RMS AR EM. TE ALAR SBT IRM MTA TERR T EO. AR, —PAMAT LSB S-MEO, ABTA AM LAS MEO HE LAI SO (WA RO) AA interfae( RRR. "HT SROBA METER (A CARBINE), CATR AERME COR LAS T—ME ERR MIRED, FEHR MEET BS EEE FE SAUL (Go TERE RET ANS |S E 4.1 STA). UE A, EGOS PRINAVRAAML, MAPA B RAL (AW Go HAMAS). BRAT ENSHAM A LER BRR BM, RAO. RA MR PRAT MBE FSM, PIG AAA EE AL”, TAP AL RSE KARA RNSLSELRP RHR, SM 16 7). 6 MAT HE, RAT HS PRE AE. SAAE, BRULERIR EM HAY ET AEA, AY Be NAM ET. RAVARF ETA ROTI: 3. Jatacker 91.82 [pif clip needle) 15 hay! LRGR PAE — AI BE, I TER AT PHT EHR SE-MERINUMIGE stacker/stacker.go. KBEWRFNGPAMH: import ( Bese “stacker/stack" ) © ARF CH, GowHM struct (AHH) ALOR. Olin, Go THIN struct MHIAKHMA SBM, MARE HMR. © Go BAN SROM RANA Java HH Object MH CIC+H fH void HM — HMM. 14 1 MIF fmt 2 Go WAMEEM—M, Ti stack WMEABUIN stacker BFS ROEN—> TRE. —4S Go TH FPA LN SAGES HBR GOPATH SE UNE, Js FD GOROOT FRA. ERMA, APMIS SHOME /goeg/src/stacker/stacker.go #, WW stack {Jill {it F SHOME/goeg/src/stacker/stack/stack.go F. AS copaATH & $HOME/goeg BtEL® T $HOME/goeg iXSBME, go MELA ZH stack Al stacker #MRHT. SAMBA Unix BUREN “7” SRFSB, BREEZE Windows “F& LiVEiXhE. NAHI BAER TSOSZASHARE. AHATVAS ENACT Cn path/filepath), SOURS ERASE BIA (OIRRAIRH BE ELI AN HEZESS 9 SEP EAI TPG ART EH eH AR A PALEY main () a fune main() { var haystack stack.Stack haystack. Push ("hay") haystack. Push (~15) haystack. Push ([]string{" haystack. Push (81.52) for { item, err := haystack. Pop() Af err != nil { break ’ fmt. Printin (item) 1, "clip", “needle")) ) ) RAFAT —+ stack. stack RUMAH haystack. EGA, FAAP FORA, B.ED ATLA pkg. item RARE. SP. pkg RAS PAN RB (RME—— Tl). RAAF RRL EHR. Ri, RAVER RAHI, IPE HM, BR. OFA EUR 2 AE FT A CRIN) TORAH, TAS CUOVETHAIIM CRBUBIA)) ATER. BUR Go HERMANN, (EARTH LUMAR ORR, RA. RATA MAF BIN stack. Stack RMRRKAMN, BRA ENMKMAH EE Ao SR, EMEP, ATER MSA MRE EE EY. At, TE BUT BIT fmt Println () BH, CALM Go HA MAW AMBLINEE (ZE reflect tH) RAE CRT TERMI, CSUNRTE THEY 9.4.9 PEEL). BUBRRNA—T Go HA NROPEREA AE for HF iKE—-TH RF, UAHA PF, BUNA AP RBG OAD, Le NS LEY) break HAD 4 return #4). BMREF-TAT PRA —H for WE (SI 1.6). for HANTE MEEHTER 5 RUA. Go BARAT EA ERAS MA. CoBA TRAN RAL RRS Fi E HORE NEEL — “MRE CHK error). RATA NIM stack. Stack {hit 1.5 B—AEMKMRNAK 16 SGSPENRB. BER BURGH Be VAM stack. Stack REAKHMN, MiLRMBREB ENA RUBTEXH staker/stack/stack.go #). Package stack import "errors" type Stack [Jinterface() BRL, COTM ARRAS, WS NE, RB RA—Ma, Bl errors. € Go PAPEL Mr B ih Ae NAMI, BAIT — PRR RRR ER) BB HE-MALL, RMAHSEAN (AENRAAELM) RAHA MRE. 18 Go BE XSUARANEBRAA MEA. HIKE, stack RURE-TERORMH Cth BETTE RSANS AD) G14, (EGA (] interface (}AUXAMREM. HT Go HAASAN T SO, LAER SAU AB AT LAE AE Stack *P. ARMS RAA (BUNA). RE CUB) MEE RAAT OA AE Len () RBC RABI). ADU, AH AEA AT A EEE cap () BOR PRAR (CMR WANKER). (Go HANIA AE BRM N51 MERE SF, DAES 4 AMM, BNL 42 75.) GRAN A HRA (HRT AORN Go Hae TN AE MBGERAAA) ABI Len () Al Cap () Wk. HF stack RUMADH EMRE, ARN ARLM stack.Len() M Stack.Cap() Hike fune (stack Stack) Len() int { return len (stack) ) BATE func HEM. HE, ETI, TAT ASS SE func KRFZLENHKEAZH, FARES OMRR. BAMA, MEMES AMRANSRAR TRAL), SPSRMABSAM AFFSMU variableName type RACREY). SKM, UAARRNEARS CORERABAMNIE), RAE —HIBEME (Pl, stack.Len() WPM int BED, HUA —NBES ORE AGAR, FHP RRR- TEAS. KOHART, SARA TEES, PMI B RA stack #2 GFASHE BHANR) » WAAR Go WEP UATE CBEBCaR” ARIPO. AABN, BOBCARMASIVE Stack, BIUER CAR ECA IE). BCH ROR RET RE ARBRE THRE — ARIA, REE ER. BOM TANABE EMRE IT RB ARAB, HMPA stack.Len() WH. Stack.Cap () WA LA stack.Len()—# (AURA). MENA, D EIA, CR —AALER MY this a self, RALAPANIR-E Go SE HA BADE, (ELTA SEACH Go Dale 16 1 SMF Stack. Cap () 7738 FIM cap () TIE Len () HH. HUA PIEAE— stack. IsEmpty () FE, (VER stack. Len () WRAL, ABIBEI—* bool RAM len) BE ST 0, Aha ARH fune (stack *Stack) Push (x interface(}) ( *stack = append(*stack, x) 1 Stack. Push () Wi#7E—“MB Stack MRT LBA CGR), It BB —MER RAMA ASH. ABA append () BATU - TRS MLEMS—TMIA BE, FHKE A CATE TER, Ty EL DMA A SAE BI ESE A MR AWARE aL, MURAI ARE BE SEK, BR RR FESR NRT: FAG fi A HOHE x OUR GEE Len (stack) X-MiLE, JFRRATKEEM 1. Stack. Push () BSAA (RAFT HOM AER), AUER SEBEI—* error RRA RARE AM DUR BATES RCRA, BLD TUE BOWER BL — “MST 6 OFT EH“ T ML AOA FAH. RETR 2 RR, NBT —-MRARE, 1AM PURELY EAN ASML ANAL Se LL eA AMAR EROS «FREE ENT Sb AN bE MB BK. HM, 4—-TRRMEAR TRA, RRMA SAAN (Blin, fe stack # stack. Len () HI). XARA BAT AIT AL ET oD, PR ABE TE AN SUR BRTAME BRA IL CRRGIX PER ATANE RE PEAR ), BUNA A — i TD ANTES, ROPEZE RRA ABBA RR) DS et Tas PT Te FEEDERS SATIN —ME SR CRUE S*). FL, 42 Stack. Push () WEF, Beit stack MASA *Stack, HREM stack (FT MEI Stack aUAMHEET, EAE —ASSEERIY Stack FAME. BYAITAT AGL ARS | ABR EGON Baa Ht TTR IEAM Stack ffi, #51 FARRER ENA RRR RS A TEL. WPS | FR EE A EB BoRsEm. Ab, BANS stack MN, BHM stack MRE CHBLE—F *Stack). B *stack It, QSRMS GREER MES AEE ZAHIR Stack Mi. HOLE SAF AURA AA, ES EZ RAT, Bilt xty, KA Go AIC, CHAE AM. ERMA MMI REET, Pill *MyType. TER ZA ZU REA WES FAL, PL +2. ALA AY, BUTTER 4 BOREAL Go HFT ETHIER. ERNE, Go WA PNM (channel), BUH (map) AYA (slice) PRGA FUE make () RIG, THA make () HEGRE EARMN—TS 1h. SATA ARETE AT PRADL, AEA A RRA, BRET AL | FI A AT SBE Be FF SG. ATT, SAAS, BAA PARES ES HE, WR AEE A BBRATEAMU append () BA—-MIH AAT RBA TICK DD), DIBA ERM Mat, BARBED CHRD REA D Go WARMER T REEEIZ St GURHREED, SoHE CA CHEHLE HEN. 15 B—AEXRORRAR 17 SQATTEBENED, ANAM append () BEMMHSASZ HE AWAA Stack MHA —MIH RRA, Auk stack AAI Hit AT AER YE HD A IN me con append () il len () #48. WM, Stack UMM RMEBAM HM, SRB TNAD AE, ACR BA EE RDA ARE. fune (stack Stack) Top() (interface(), error) { 4€ len(stack) == 0 { return nil, errors.New("can't Top en empty stack") ) return stack{1en(stack)~1], nil ) Stack. Top () FAEARTRHEMGR BURR MINICR) A—+P error RAH AML, BRAZEN MRE nil, BAW nil. RBH stack MBMBZ AUB (te, BAAR RE. error 2—MENAA ($634), HAT —NR Error () string. iH, Go A NERA —MB EE error KA, RAMI (error MH nil) MH AM. XBR BRAVE errors Pi errors .New () RBH Stack RM Bit MS PREP "py — FET HE Go FH EFA nil RAAT CVA AES LF), BUR act hl Hy EHH EY RAS | A OD SU. CRA REA ATR ULB), HALA nil (AR THE Go BE PAGE RIMRASE ERA. AI, GoBRSRES—MAIEN, CHE PEA RARENEL. PIGI, BPR EIR 0, RRA MRE ITE, TEETER BED HER nil (A, TOR Pe BL AA. BL, ZE Go i PAR ARLE AMM, DT RSME SP SRO. RRA, BR (MAAS MIBRHATEHITE, BREE OREN error fi—F. AT Bi ALAA SAT EAE SN EL, BATTLES © ROE ESL Uta) EA — a. WRBAAAS, BATRA ATM HA —P nil AAR. BF Go A PAIRS 0 TF, FA Ha A BARE 0, STORM len (sliceOrArray) ~ 1. RELATE ETRE VAAN AMINE TIOR, AARTERTE NBS BRS Fl BIRR, $cc P RES A— + return WAUA EAE AEE fune (stack *Stack) Pop() (interface(}, error) { thestack := *stack if len(thestack) == 0 ( return nil, errors.New("Can't pop an empty stack") ) x i theStack[len(theStack) - 1] © *stack = theStack{:lem(theStack) - 1] @ return x, nil ) Go HM ni GC. CHP HY NULL BL 0, BRA Java FHA null LI Objective-C HH nil APTA. 18 1 SAF Stack. Pop () AA FMMIFE EST RON CREM) TGR. M stack. Top () We Pe, BiREOCRA—+ nil BMA, BE AME nil FERAI—ME nil RL PREG RTO RR, ALLE HI OA — MEM. OT FE, BAVEREAAME *stack (stack SRST AMR) RARE, TAR {HE —TPIRINZER (thestack), ATER TABI SEE. PAO REF AEA FAW *stack #MME—+ stack (A, BARRA MOIR, URE RET RHR —ME AHS NK WR, BATTAL. AM, BATA TT BR AEE — 2Eet x F, MEA RBM) UU GRIN RRDT—ATR), FHOUA RIE stack MTR AN RR. Ba, RATER AN A—* nit ML. GoMERAEAA MIT, ROGIER 1, HPA, TERT REBAR. JR TER () RSET RSE RRO). AGI, ARR IM BUR TRNRSI. SAN A RE () TRG RRO). RICHWNBAE firstrend. MUR first (XbA, USERID 0, TITWR end (AES, SU FORMED UIA Len () (H. SRAM AR PIB first TICE end HICRZ IA WAT, PASH first TRMPASH end TOR. BU, FRB, AE — ATR REAR RT AKER 1, BARE T BD PRG TORT ORAL PURRFECT RSE 4 AR, BIL 42.1 8). MERA PARA AIEEL Stack MK, RATER REY stack MAR (BN *Stack RM). WFIURERTRBOKE (LMR MA int AVA string RANA) A FERED RU, RARAEM AEN. (LE FRR AE AR, BOE ERAS, BU RI — EAM NECA, a fea MEL PER EL HPAI» RAHA, AMAT, WRT MER EIA, TE HieBNLA—MEH SK, M4 Go HAART MEAL (BALE Sake, BIL 6.2.1 1) (AWOKE, TEERAA HHMI. FAN, RTE MAT EE, TT Bima —MIL, Go Er th RA TAS [FL SPRL THREAT. © TEMAS AR, 4 Go HAP OM AE NAAN HAM MAB. TEAS ASHI eS Pn SHEEN. Go HAMM SETS 6 BEA. 1.6 americanise Al— 3ePF. WUHAN ATRELRGR, WEA DARI RIES SEE. TERT A OD Bi Go WARRERET C. CHINE -> SERHOREL 1.6 americanise *HI— Xt, NAA 19 SUTRA T Go HAMNER fmt APRANT MRR, APRA Go HEE SCAB AE. EE RRR SIMA EB Go THERE, Lem BORE a —2K4il (first-class value) FEM4E, IAAT LEE NAMB. Boh, BANE Go i AUB (map, LA ARAES RRA BO) RA. AVL PRUE IRS —TPLALHES EY, AAR RS RE HAM. Ay HHS RMVEA Go BA PNLHMELA. RAE 20 HEP, RAPTOR RR. AM PRR FREI, ROCA PE SRS CAR, BET EU BAM AEA), RPRHERUERS AB]—--MRICASCE TE . SREY WULF americanise/americanise.go }. RRA ALT FARRAR, 56 URS ML, RE main () BK AS) main () PALMAR, ‘path/filepath” "regexp" “strigns* ) BROT TAWRE Co MEF. EMMTUAERTT A, won LE "PATH BI io APM ioutil AUK path tail) filepath 1—#. bufio HHT WMH VO MEOIAE, ALA UTE-8 STS SCA EES F458 BEI) © io BET BH VO tite, HPA T BUN americanise MFP ITREIM io.Reader Al io.Writer #O. io/ioutil BRHT —RAMBXHM BR. regexp AMET AMIE RUFIAR. HbA Cémt. log, filepath Ml strings) BEATZ AMAL. fune main() { inFilename, outFilename, err := filenamesFromCommandLine()@ if err != nil ( fmt.Printin(err) @ os Exit (1) ) inFile, outFile if inFilename if inFile, err = os.Open(inFilename); err != nil ( log. Faal (err) Stdin, os.Stdout® ) defer inFile.Close()® ) if outFilename != "" { 200 1 SMF Log. Fatal (err) deter entPite.closag@ Ae oxr = anericantze(inelie, outFtte)) ert t= nit ( log. Fatal (err) ) ) 3X4 main () BHU eT PRA AH ES, BAMA, eee SEEMED americanise () RH, HARARE. BAT ARTS EA AH ABU R— error (Hl. MRA STMT AR, DVN MRE PAA E AD, ICED ILAY. se sHe RMU Error() string HARA string() string Hk, Go BAM MIT MRM UA NRE AA RET ED, BU Go TRE te RRA REAR I BSE ATTEN. WRB BE NAME PTE INT, Go Ta MITT ED BO HT EK BE SRSA RL. BUTTER 6 SEER AACA HK. WR err (HW nil, WIE inFilename fl outFilename #ULSEGH THEW 2), BFR. Go BA PHKHERMRAA—MEA os. File (NH, AULRINORET INRIA EAT CRASHER ABA *os File). EMPRHELL LEFT HBSN, GoRANRMATERHS EEE, BUS ERR ROME). ARLEV, B-THE HME ARAMA. MARSA, NUN REM os .Stdin RH os.Stdout (EHMMARHMA*0s File, Bl—MBA os. File RM (MSE), RHA RAZ, BRAM —MAM *os. File HHRESMMM KH. os .Open () BBRZ—TLHB EH, JHEE—* *os. File RAMA, BARAT LAIR ASCE P ERAGE. HWS, os Create () AMRZ—TUARETH, BEL *os.File fH, ABTA ARASH SEE GE REESE ASCH. WRIA BH A EAN FFE, RNSKMLALH, SL BBREMSELAN KERN 0 (Go Ha HRAT os OpenFile () BMORITIFICH, PRPS] ALE RFA Ba Hades HC A ST FP RAI. Xb os .Open(). os Create () Ml os .OpenFile () X/LT} RRMA MABE: tn PUTA RI, WiEEl*os.File Ml nil HARM, WRT AM, WGBEI— nil X AE AUAUAIAR nil ff) error (He JBI err 24 nil ROAKACRROTT, RATER RR defer HAATAA Se. FEU deter EUAN MANE (6515.5 3) ARREST (ARRAS HES), PRARHRSE deter HUAN BSCR EMA. Blt, defer HAs “itt” BM, HRS LEAT. RR defer PAARILITARN, MPU MEHR LS 3B defer HANT—RBA). Aut, BHBAMTH os .File.Close () #UXMLBRSS be OMT, HBS EMN main () BACKE (KRREM EECA, MBIA). RR, 1.6 americanise 71—Nf+. AAA 21 TFT BE, FRESE EAER AMAA, NLT ART . URBATT FSC I, SUA log. Fatal () BEGETS BIE TCP ABN, IX RMS IOR A, TRA CRABS SE TC bs, AP MW RERARUT MA os.Stderr), IFW os Exit () RAILEF. 4 os.Exit () BR WARWARAM log.ratal () MRM, BFR IME, PRR IMT MERA ERK. RARBG, BH Go PANETHRES SHATTER, FRE BREET PR, TAT SG RT AHL (FE CEN BLT BS De HR TUANERt. IEW bigdigits RAAF PAR, BANAT it A] Gre) PAG log.Fatal(), ANerr POATHPNMHR, MARTAREATH log. Fatal () (SOC Fs Ze tw Tf 4£ Go WA, panic 2—“VEATINGA MESUEE SPR, CATE panic HBR “SG. BATA DAE ABN panic () BECKMR—TRA, FEILER recover () BK (SIL 5.545) RESO LIER MEE. HEIGL, Go iF panic/recover SPHEA LATS aH RL, RELA. BARRA RRR ARS EEI—* error (EAS aa COUR ERAGE] ni (ED, FLA RETO ER {il paniclrecover HUI AVE ALESCE SE (RIANA) TEMS. © AHAB MIT IPG (os.Stdin, os.Stdout Mos.Stderr MH 2H Go HA HE FTN ABABA FY), BATE RATE ICME americanise () BI, HARM RET Ab. WR americanse () MSGKFl nil (f, main() MBER, PHARIRM CE JRE AAA inFile M outFile Xft, WREAK os.stdin Ml os.Stdout Mis) # FR ——PUT. MR err MAA nil, WER BAT EIR, AGB, Go HA MSITH RG ABN AT FSA. americanise () BAMWSBUE io. Reader Mio.Writer HO, (ABAVUEAME *os.File, RAR, H% os.File RMXMT io.ReadWriter 4) (iff io.ReadWriter # io.Reader Ml io.Writer ROMA), HRAVL, os. File WAHT LAL TEER io.Reader R# io.Writer RO MMA. XE—TMA AFA AT Bl, RAEI IAL RELATRROMERMNAE, CMB TU ATIX MEO. WR americanise () BA ATR), NIB nil (A, ARGBEAMAY error fi. fune filenanesfronConmandiine() (inPilenane, outFilename string, ie ten(os-Args) > 1 66 (os.Arget2) == "ehh 1] os.argsti == *-hetp") err = fmt.Srrorf (usage: $2 [Joutfile.txt", filepath.Base (os.Args[0])) return "", "", err D Go BiyHERAELS CH, Java A Python SARA, BUILTH EASA LALIT ARLE. Go i panicreoover Sift ORIRAMLAIS IL https : //groups .google.com/group/golang-nuts/ browse_ thread/thread/lceScd050bb373e42pli=1 «

You might also like