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=' ...
随机推荐
- 边表+SPFA
传说中效率很NB的单元最短路径算法,传说中时间复杂度为O(kE),k为长度,平均值为2,不知道这话是谁说的,一说流传oi界几年了 边表就是数组模拟邻接表,没学会很难,学会很简单的样子啊 #includ ...
- Confluence部署攻略 [转]
一.软件介绍 AtlassianConfluence(简称Confluence)是一个专业的wiki程序.它是一个知识管理的工具,通过它可以实现团队成员之间的协作和知识共享.Confluence不是一 ...
- zendstudio 声明变量类型,让变量自动方法提示
zendstudio 行内注释, 显式声明变量类型,让变量自动方法提示 $out = []; /* @var $row \xxyy\SizeEntity */ foreach ($rows[ 'lis ...
- aix DNS 配置以及网络命令traceroute和nslookup 和 dig 命令
DNS 域名系统 (DNS) 服务器将 IP 地址解释为其他计算机或网站的域名和地址.如果没有 DNS,您需要在 Web 浏览器中输入 IP 地址.例如,如果您未访问 DNS 并希望查看 IBM 的网 ...
- Git常用命令(自己总是忘记,整理在这里)
1.git init 初始化一个空的git仓库 2.git clone +SSH地址 clone新的项目到本地 3.git add git add file 4.git commi ...
- HLSL之漫反射光
整整忙了一个月了,总算清闲下来了,从上次写完环境光后又过了这么长时间,继续学习......加油!!今天整理下漫反射光并记录下来,那就直接进入主题吧,开始漫反射光的学习. 漫反射光是在环境光的基础上添加 ...
- win7电脑共享VPN连接教程
互通网络VPN服务器不限制连接数,如果仅仅是电脑连接的话有点浪费,如何只在笔记本电脑上设置一次VPN,然后手机.平板等都可以直接共享使用呢?为什么需要笔记本电脑,因为笔记本电脑内置的无线网卡可以设置w ...
- 关系型数据库与NOSQL(转)
出处:http://www.cnblogs.com/chay1227/archive/2013/03/17/2964020.html 关系型数据库把所有的数据都通过行和列的二元表现形式表示出来. 关系 ...
- CALayer图层的基本介绍
掌握 ● CALayer的基本属性 ● CALayer和UIView的关系 ● position和anchorPoint的作⽤用 CALayer ● 在iOS中,你能看得见摸得着的东西基本上都是UIV ...
- Android简单图片浏览器
效果如下: 代码编写如下: Crize_demo\app\src\main\res\layout\activity_main.xml <!--定义一个线性布局--> ...