GO語言基礎教程:Hello world!
首先簡單地說一下GO語言的環境安裝,從 http://golang.org/dl/ 針對自己的操作系統選擇合適的安裝包,然後下載安裝即可,下載的時候注意別選錯了的操作系統,例如go1.3.1.darwin-386-osx10.6.tar.gz 這個是蘋果操作系統的安裝包,go1.3.1.linux-amd64.tar.gz 這個是64位linux的安裝包,go1.3.1.windows-amd64.msi 這個是64位windows系統的安裝包,安裝過程很簡單,參照說明一步一步進行即可,在此不再贅述,類似的文章一搜一大片.如果你不能訪問go語言的網站,那麼說明我們偉大的長城防火牆爲了您的安全把您給墻了.想辦法跳牆吧.
裝好了GO環境之後您可能要選擇一個適合您的IDE才行,在此列舉幾個,至於選擇哪個您隨便,當然了最好是選擇一個您比較熟悉的為佳,比較專業的IDE是 LiteIDE,如果您以前沒有用過別的編輯器的話推薦您用這個.我自己用的是editplus,除此之外還有 notepad++;sublime;vim;emacs等等,如果您選擇windows系統自帶的記事本我是很不贊成的.
選好了IDE編輯器之後接下來進入正題,看我下邊的代碼:
//包名
package main //導入包
import(
"fmt"
) func main() {
fmt.Println("Hello World,你好世界,繁體中文! ①②③④⑤⑥⑦⑧⑨⑩⊙⊕◎");
}
針對上邊的代碼,我講解一下:
go語言的入口是main包內的main方法,這一點很重要,一定要記清楚,就如同用PHP開發網站時我們要建立一個index.php類似(如果你自己改了首頁文件名的定義除外)
因 此我在第一行代碼就定義了包名是main,接下來我用import導入一個外部的包fmt,因為馬上我要用這個包裡的方法幫我做內容輸出的動作,所以我在 用他的方法之前一定要先把這個包給導入進來,其實簡單一點你可以用PHP的require或include來理解,但是不同的是,go語言導入的包你必須 要用,如果導入了卻從來不用是會報錯的.這一點我挺喜歡的.
func這個關鍵字用來定義方 法,類似PHP的function,我在這個main()方法內使用fmt包的Println方法做輸出內容的動作,這裡簡單說明一下,go語言沒有 public或private之類的修飾,方法是否是public就看方法名的第一個字母是否為大寫,如果首字母是大寫的,那麼這個方法就是public 屬性,那麼他就可以被外部使用,我們看fmt包內的Println這個方法名的首字母是一個大寫的P,所以他就是public屬性,相當於PHP的 public function Println(){} ,所以這個方法可以被外部使用.
另外您或許注意到了,我要輸出的字符串內包含了一些特殊符號,或許您會擔心其能否正確的被打印輸出,其實這個擔心是多餘的,因為go語言天生就對utf-8有很好的支援性,其實如果您喜歡的話您可以用中文來定義您的變量等,這些以後接觸多了您就知道了,看我下邊的改寫.
//包名
package main //導入包
import(
輸出 "fmt"
) func main() {
輸出.Println("Hello World,你好世界,繁體中文! ①②③④⑤⑥⑦⑧⑨⑩⊙⊕◎");
}
這一段代碼的輸出結果和上邊是完全相同的,不同在於我在導入fmt包的時候把這個包給重新命名了,那麼接下來我在 main()方法內使用的時候就變成了 輸出.Println() 是不是很有趣.這其實得益于go對utf-8的支援性.不過正常開發的時候還是很少會這樣用的,原因其實很簡單,我不想在開發的時候要不停的切換中英文輸入法.
希望轉載文章的朋友能夠留一個文章出處,http://see7di.cnblogs.com 在此感激不盡!
剛成立了一個QQ群,有興趣討論GO語言的朋友可以加入:195112
GO語言基礎教程:Hello world!的更多相关文章
- GO語言基礎教程:序章
首先自我介紹一下我自己,我是一個coder,目前主要從事B/S程序開發工作,懂點PHP;ASP;JSP;JS;VB;C;DELPHI;JAVA,另外知道幾個數據庫,除此之外別無所長,那麼我為何會選擇學 ...
- GO語言基礎教程:數組,切片,map
這節課我們來講解數組,切片和map,或許您是從其他語言轉到GO語言這邊的,那麼在其他語言的影響下您可能會不太適應GO語言的數組,因為GO語言把數組給拆分成了array,slice和map,接下來的時間 ...
- GO語言基礎教程:流程控制
在開始一個新的章節之前先來回顧上一篇文章的部份,首先我們來看這段代碼: package main import ( "fmt" ) func main(){ var x,y int ...
- GO語言基礎教程:數據類型,變量,常量
GO類似PHP,每行的結尾要加分號來結束,不同點在於GO對此並不強制,這一點又像javascript,另外GO的語句塊是用一對大括號來包裹的,但是go要求左大括號必須要在語句的結尾處,不能在行首出現左 ...
- GO語言視頻教程下載
需要的朋友可以加QQ群195112,在群共享內可以下載到.
- GO語言視頻教程
第1课:https://github.com/Unknwon/go-fundamental-programming/blob/master/lectures/lecture1.md Go开发环境搭建h ...
- RxSwift學習教程之基礎篇
前言 我們在 iOS 開發過程中,幾乎無時無刻都要面對異步事件的處理.例如,按鍵點擊.數據保存..音頻後臺播放.交互動畫展示.這些事件並不具備特定時序性,甚至它們可能同時發生. 雖然 Apple 提供 ...
- Python 基礎 - if else流程判斷
hmm~前面講了那麼多,終於可以稍稍的正式進入另一個階段,沒錯,要開始寫判斷式了 這次先從最簡單的判斷式開始,if else 開始- Go 首先,之前有寫有一個簡單的互動式 用戶輸入 的代碼,忘記了嗎 ...
- JavaScript基礎知識
JavaScript基礎知識 1.標籤組使用 <script charset='utf-8' //設置字元集 defet //使腳本延遲到文檔解析完成,Browser已忽略 language=' ...
随机推荐
- iOS静态库.a文件制作和导入使用
iOS静态库.a文件制作: 1.新建Cocoa Touch Static Library工程 新建工程 - 选择iOS-FrameWork&Libary,选择 Cocoa Touch Stat ...
- mybatis 关联查询 association
<resultMap id="DutyPersonAndFileAndScoreMap" type="com.cares.asis.duty.entity.Duty ...
- [学习笔记] 七步从AngularJS菜鸟到专家(7):Routing [转]
这是"AngularJS – 七步从菜鸟到专家"系列的第七篇. 在第一篇,我们展示了如何开始搭建一个AngularaJS应用.在第四.五篇我们讨论了Angular内建的directives,上一篇了解 ...
- [转]关闭ORACLE数据库
SQL> shutdown immediateORA-24324: 未初始化服务句柄ORA-24323: 不允许此值ORA-01090: 正在关闭 - 不允许连接 SQL> shutdow ...
- IPD模式下开展敏捷开发的一些问题汇总
1. 我们现在普遍用的是老系统情况下,什么时候把软件和硬件在敏捷项目里面集成? 答:有两种场景:第一种场景是把软件分几个迭代,最后把软件和硬件一起集成:第二种场景是更好的一种场景,每几个迭代 ...
- 第45讲:Scala中Context Bounds代码实战及其在Spark中的应用源码解析
今天学业习了上下文界定的内容,看下这段代码 class Pair_Ordering[T:Ordering](val first : T,val second : T){ def bigger(imp ...
- HibernateTemplate和HibernateDaoSupport(spring注入问题)
HibernateTemplate HibernateTemplate是spring提供的一个就hibernate访问持久层技术而言.支持Dao组件的一个工具.HibernateTemplate提供持 ...
- hibernate的五大接口
Hibernate有五大核心接口,分别是:Session Transaction Query SessionFactoryConfiguration .这五个接口构成了Hibernate运行的基本要素 ...
- 用C写的俄罗斯方块游戏 By: hoodlum1980 编程论坛
/************************************ * Desc: 俄罗斯方块游戏 * By: hoodlum1980 * Email: jinfd@126.com * Dat ...
- git ssh key创建和github使用
github拉代码需要ssh验证 git是分布式的代码管理工具,远程的代码管理是基于ssh的,所以要使用远程的git则需要ssh的配置. 一 .设置git: 设置git的user name和ema ...