一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Golang - Go語言hello world實例

Go語言hello world實例

2020-04-08 19:32junjie Golang

這篇文章主要介紹了Go語言hello world實例,本文先是給出了hello world的代碼實例,然后對一些知識點和技巧做了解釋,需要的朋友可以參考下

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

程序

這就像一個傳統,在學習大部分語言之前,你先學會如何編寫一個可以輸出hello world的程序。

準備好了嗎?Let's Go!

 

復制代碼 代碼如下:


package main

 

import "fmt"

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

 

輸出如下:

 

復制代碼 代碼如下:

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

 

詳解

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

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

 

復制代碼 代碼如下:

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

 

為了打印Hello, world...,我們調用了一個函數Printf,這個函數來自于fmt包,所以我們在第三行中導入了系統級別的fmt包:import "fmt"。

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

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

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

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

 

復制代碼 代碼如下:

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

 

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

結論

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

延伸 · 閱讀

精彩推薦
  • Golanggolang json.Marshal 特殊html字符被轉義的解決方法

    golang json.Marshal 特殊html字符被轉義的解決方法

    今天小編就為大家分享一篇golang json.Marshal 特殊html字符被轉義的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 ...

    李浩的life12792020-05-27
  • GolangGolang通脈之數據類型詳情

    Golang通脈之數據類型詳情

    這篇文章主要介紹了Golang通脈之數據類型,在編程語言中標識符就是定義的具有某種意義的詞,比如變量名、常量名、函數名等等,Go語言中標識符允許由...

    4272021-11-24
  • Golanggo日志系統logrus顯示文件和行號的操作

    go日志系統logrus顯示文件和行號的操作

    這篇文章主要介紹了go日志系統logrus顯示文件和行號的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    SmallQinYan12302021-02-02
  • GolangGolang中Bit數組的實現方式

    Golang中Bit數組的實現方式

    這篇文章主要介紹了Golang中Bit數組的實現方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    天易獨尊11682021-06-09
  • Golanggolang如何使用struct的tag屬性的詳細介紹

    golang如何使用struct的tag屬性的詳細介紹

    這篇文章主要介紹了golang如何使用struct的tag屬性的詳細介紹,從例子說起,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看...

    Go語言中文網11352020-05-21
  • Golanggo語言制作端口掃描器

    go語言制作端口掃描器

    本文給大家分享的是使用go語言編寫的TCP端口掃描器,可以選擇IP范圍,掃描的端口,以及多線程,有需要的小伙伴可以參考下。 ...

    腳本之家3642020-04-25
  • Golanggolang的httpserver優雅重啟方法詳解

    golang的httpserver優雅重啟方法詳解

    這篇文章主要給大家介紹了關于golang的httpserver優雅重啟的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,...

    helight2992020-05-14
  • Golanggolang 通過ssh代理連接mysql的操作

    golang 通過ssh代理連接mysql的操作

    這篇文章主要介紹了golang 通過ssh代理連接mysql的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    a165861639710342021-03-08
主站蜘蛛池模板: 美女张开下身让男人桶 | 欧美精品一区二区三区免费播放 | 青春草视频免费观看 | 国模丰满美女冰漪34d | 国产综合成人久久大片91 | 激情三级hd中文字幕 | 亚洲欧美一区二区三区在线观看 | 精品一区二区三区高清免费观看 | 我要看黄色毛片 | 国产一区二区三区久久小说 | 人禽l交视频在线播放 视频 | 欧美视频精品一区二区三区 | 男人疯狂进女人下部视频动漫 | 波多野结衣家庭教师 | 99久久精品自在自看国产 | 91国产在线观看 | 欧洲兽皇 | 变态np虐高h | 欧美人成绝费网站色www吃脚 | 黑人巨| xx18美女美国 | 亚洲精品久久中文字幕 | 国产午夜精品一区二区三区不卡 | 美女毛片在线 | 五月天国产精品 | 明星乱淫 | 男人叼女人的痛爽视频免费 | 4444kk在线看片 | 欧美影院一区二区 | 欧美高清videosdesex0 | re99| 欧美18一videos极品 | 国产成人免费观看在线视频 | 痴mu动漫成年动漫在线观看 | 九九免费高清在线观看视频 | 爽好舒服宝贝添奶吻戏 | 亚洲视频在线免费 | 日韩成人精品 | 欧美日韩中文国产一区 | 日韩aaa | 鬼吹灯天星术在线高清观看 |