最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Go語言hello world實例

 更新時間:2014年10月28日 11:29:07   投稿:junjie  
這篇文章主要介紹了Go語言hello world實例,本文先是給出了hello world的代碼實例,然后對一些知識點和技巧做了解釋,需要的朋友可以參考下

在開始編寫應(yīng)用之前,我們先從最基本的程序開始。就像你造房子之前不知道什么是地基一樣,編寫程序也不知道如何開始。因此,在本節(jié)中,我們要學(xué)習(xí)用最基本的語法讓Go程序運行起來。

程序

這就像一個傳統(tǒng),在學(xué)習(xí)大部分語言之前,你先學(xué)會如何編寫一個可以輸出hello world的程序。

準(zhǔn)備好了嗎?Let's Go!

復(fù)制代碼 代碼如下:

package main

import "fmt"

func main() {
    fmt.Printf("Hello, world or 你好,世界 or καλημ ́ρα κóσμ or こんにちはせかい\n")
}

輸出如下:

復(fù)制代碼 代碼如下:

Hello, world or 你好,世界 or καλημ ́ρα κóσμ or こんにちはせかい

詳解

首先我們要了解一個概念,Go程序是通過package來組織的

package <pkgName>(在我們的例子中是package main)這一行告訴我們當(dāng)前文件屬于哪個包,而包名main則告訴我們它是一個可獨立運行的包,它在編譯后會產(chǎn)生可執(zhí)行文件。除了main包之外,其它的包最后都會生成*.a文件(也就是包文件)并放置在$GOPATH/pkg/$GOOS_$GOARCH中(以Mac為例就是$GOPATH/pkg/darwin_amd64)。

復(fù)制代碼 代碼如下:

每一個可獨立運行的Go程序,必定包含一個package main,在這個main包中必定包含一個入口函數(shù)main,而這個函數(shù)既沒有參數(shù),也沒有返回值。

為了打印Hello, world...,我們調(diào)用了一個函數(shù)Printf,這個函數(shù)來自于fmt包,所以我們在第三行中導(dǎo)入了系統(tǒng)級別的fmt包:import "fmt"。

包的概念和Python中的package類似,它們都有一些特別的好處:模塊化(能夠把你的程序分成多個模塊)和可重用性(每個模塊都能被其它應(yīng)用程序反復(fù)使用)。我們在這里只是先了解一下包的概念,后面我們將會編寫自己的包。

在第五行中,我們通過關(guān)鍵字func定義了一個main函數(shù),函數(shù)體被放在{}(大括號)中,就像我們平時寫C、C++或Java時一樣。

大家可以看到main函數(shù)是沒有任何的參數(shù)的,我們接下來就學(xué)習(xí)如何編寫帶參數(shù)的、返回0個或多個值的函數(shù)。

第六行,我們調(diào)用了fmt包里面定義的函數(shù)Printf。大家可以看到,這個函數(shù)是通過<pkgName>.<funcName>的方式調(diào)用的,這一點和Python十分相似。

復(fù)制代碼 代碼如下:

前面提到過,包名和包所在的文件夾名可以是不同的,此處的<pkgName>即為通過package <pkgName>聲明的包名,而非文件夾名。

最后大家可以看到我們輸出的內(nèi)容里面包含了很多非ASCII碼字符。實際上,Go是天生支持UTF-8的,任何字符都可以直接輸出,你甚至可以用UTF-8中的任何字符作為標(biāo)識符。

結(jié)論

Go使用package(和Python的模塊類似)來組織代碼。main.main()函數(shù)(這個函數(shù)主要位于主包)是每一個獨立的可運行程序的入口點。Go使用UTF-8字符串和標(biāo)識符(因為UTF-8的發(fā)明者也就是Go的發(fā)明者),所以它天生就具有多語言的支持。

相關(guān)文章

  • 重學(xué)Go語言之錯誤處理與異常機制詳解

    重學(xué)Go語言之錯誤處理與異常機制詳解

    Go語言的開發(fā)者顯然覺得?try-catch被濫用了,因此?Go不支持使用?try-catch語句捕獲異常處理,那么,Go語言是如何定義和處理程序的異常呢,下面我們就來看看吧
    2023-08-08
  • golang語言如何將interface轉(zhuǎn)為int, string,slice,struct等類型

    golang語言如何將interface轉(zhuǎn)為int, string,slice,struct等類型

    這篇文章主要介紹了golang語言如何將interface轉(zhuǎn)為int, string,slice,struct等類型,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • 淺析go中的map數(shù)據(jù)結(jié)構(gòu)字典

    淺析go中的map數(shù)據(jù)結(jié)構(gòu)字典

    golang中的map是一種數(shù)據(jù)類型,將鍵與值綁定到一起,底層是用哈希表實現(xiàn)的,可以快速的通過鍵找到對應(yīng)的值。這篇文章主要介紹了go中的數(shù)據(jù)結(jié)構(gòu)字典-map,需要的朋友可以參考下
    2019-11-11
  • 深入了解Go語言編譯鏈接的過程

    深入了解Go語言編譯鏈接的過程

    Go在編譯時會將interface和channel關(guān)鍵字轉(zhuǎn)換成runtime中的結(jié)構(gòu)和函數(shù)調(diào)用,所以小編覺得很有必要就Go的編譯過程理一理做個進行總結(jié),下面就來和小編一起了解一下Go語言編譯鏈接的過程吧
    2023-08-08
  • golang中的string與其他格式數(shù)據(jù)的轉(zhuǎn)換方法詳解

    golang中的string與其他格式數(shù)據(jù)的轉(zhuǎn)換方法詳解

    這篇文章主要介紹了golang中的string與其他格式數(shù)據(jù)的轉(zhuǎn)換方法,文章通過代碼示例介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-10-10
  • GOLANG使用Context管理關(guān)聯(lián)goroutine的方法

    GOLANG使用Context管理關(guān)聯(lián)goroutine的方法

    這篇文章主要介紹了GOLANG使用Context管理關(guān)聯(lián)goroutine的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • Golang 使用map需要注意的幾個點

    Golang 使用map需要注意的幾個點

    這篇文章主要介紹了Golang 使用map需要注意的幾個點,幫助大家更好的理解和學(xué)習(xí)golang,感興趣的朋友可以了解下
    2020-09-09
  • golang套接字的實現(xiàn)

    golang套接字的實現(xiàn)

    Go語言中通過標(biāo)準(zhǔn)庫net實現(xiàn)套接字編程,涵蓋了TCP和UDP兩種網(wǎng)絡(luò)類型,通過這些基本概念和實際代碼示例,可以幫助理解和掌握Go語言中的套接字編程
    2024-10-10
  • go 壓縮解壓zip文件源碼示例

    go 壓縮解壓zip文件源碼示例

    這篇文章主要為大家介紹了go壓縮及解壓zip文件的源碼示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • golang中struct和[]byte的相互轉(zhuǎn)換示例

    golang中struct和[]byte的相互轉(zhuǎn)換示例

    這篇文章主要介紹了golang中struct和[]byte的相互轉(zhuǎn)換示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07

最新評論

武邑县| 桃园市| 申扎县| 临海市| 孝感市| 桂阳县| 来凤县| 铅山县| 安乡县| 南漳县| 郑州市| 苏尼特右旗| 武功县| 中西区| 珲春市| 门源| 白玉县| 景德镇市| 永康市| 垣曲县| 湄潭县| 诏安县| 原平市| 英山县| 广西| 揭阳市| 湖州市| 新干县| 娄底市| 府谷县| 大宁县| 吉木萨尔县| 高尔夫| 固镇县| 离岛区| 泽州县| 福鼎市| 浑源县| 伊金霍洛旗| 宣威市| 靖西县|