目錄
特色
Go 語言用途
支援平台
開發工具
 環境變數中。新增後你需要重啟命令視窗才能生效。
首頁 後端開發 Golang go語言是程式語言嗎

go語言是程式語言嗎

Nov 28, 2022 pm 06:38 PM
go golang go語言

go語言是程式語言。 go語言又稱為Golang,是Google開發的靜態強型別、編譯型、並髮型,並具有垃圾回收功能的程式語言。 Go語言的推出,旨在不損失應用程式效能的情況下降低程式碼的複雜性,具有「部署簡單、並發性好、語言設計良好、執行效能好」等優勢。

go語言是程式語言嗎

本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

Go(又稱 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發的靜態強型別、編譯型、且髮型,並具備垃圾回收功能的程式語言。 Go 語言文法與 C 相近,但功能上有:記憶體安全,GC(垃圾回收),結構形態及 CSP-style 並發計算。

Go語言(或 Golang)起源於 2007 年,並在 2009 年正式對外發布。 Go 是非常年輕的一門語言,它的主要目標是「兼具 Python 等動態語言的發展速度和 C/C  等編譯型語言的效能與安全性」。

Go語言是程式語言設計的另一個嘗試,是對類C語言的重大改進,它不僅能讓你存取底層作業系統,還提供了強大的網路程式設計和並發程式支援。 Go語言的用途眾多,可進行網路程式設計、系統程式設計、並發程式設計、分散式程式設計。

Go語言的推出,旨在不損失應用程式效能的情況下降低程式碼的複雜性,具有「部署簡單、並發性好、語言設計良好、執行效能好」等優勢,目前國內諸多IT 公司均已採用Go語言開發專案。

特色

電腦軟體經歷了數十年的發展,形成了多種學術流派,有過程程式設計、物件導向程式設計、函數式程式設計、面向訊息程式設計等,這些想法究竟孰優孰劣,眾說紛紜。

除了OOP外,近年來出現了一些小眾的程式設計哲學,Go語言對這些思想也有所吸收。例如,Go語言接受了函數式程式設計的一些想法,支援匿名函數與閉包。再如,Go語言接受了以Erlang語言為代表的面向訊息程式設計思想,支援goroutine和通道,並推薦使用訊息而不是共享記憶體來進行並發程式設計。整體來說,Go語言是一個非常現代化的語言,精小但非常強大。

Go 語言最主要的特性:

  • 自動垃圾回收
  • #更豐富的內建型別
  • 函數多傳回值
  • 錯誤處理
  • 匿名函數和閉包
  • 類型和介面
  • 並發程式設計
  • 反射
  • 語言互動性

Go 語言用途

Go 語言被設計成一門應用於搭載Web 伺服器,儲存叢集或類似用途的巨型中央伺服器的系統程式語言。

對於高效能分散式系統領域而言,Go 語言無疑比大多數其它語言有著更高的開發效率。它提供了海量並行的支持,這對於遊戲服務端的開發而言是再好不過了。

支援平台

硬體架構

#Go語言設計支援主流的32位元和64位元的x86平台,同時也支援32位的ARM架構。

作業系統

Go語言在Go1版本上支援Windows, 蘋果Mac OS X, Linux和FreeBSD作業系統。

開發工具

LiteIDE是一款專為Go語言開發的跨平台輕量級整合開發環境(IDE),由QT編寫。

主要特點

  • 支援主流作業系統:Windows、Linux、MacOS X。

  • Go編譯環境管理與切換:管理與切換多個Go編譯環境、支援Go語言交叉編譯。

  • 與Go標準一致的專案管理方式:基於GOPATH的套件瀏覽器、基於GOPATH的編譯系統、基於GOPATH的Api文件檢索。

  • Go語言的編輯支援:類別瀏覽器和大綱顯示、Gocode(程式碼自動完成工具)的完美支援、Go語言文件檢視和Api快速擷取、程式碼表達式資訊顯示F1、原始碼定義跳轉支援F2、Gdb斷點和偵錯支援、gofmt自動格式化支援。

  • 其他特徵:支援多國語言介面顯示、完全插件體系結構、支援編輯器配色方案、基於Kate的語法顯示支援、基於全文的單字自動完成、支援鍵盤快捷鍵綁定方案、Markdown文件編輯支援、即時預覽和同步顯示、自訂CSS顯示、可匯出HTML和PDF文件、批次轉換/合併為HTML/PDF文件

Sublime Text 3(以下簡稱Sublime) GoSublime gocode MarGo的組合。

優點有:

  • 自動化提示程式碼。

  • 已儲存的時候自動格式化程式碼,讓您寫的程式碼更美觀,符合Go的標準。

  • 支援專案管理

  • 支援語法高亮

##Vim是從vi發展出來的一個文字編輯器,享有「編輯器之神」的稱號。程式碼補全、編譯及錯誤跳轉等方便程式設計的功能特別豐富,在程式設計師中被廣泛使用。

Emacs是由GNU開源組織開發出來的一個文字編輯器,同時更是一個整合環境,曾被人戲稱「一個偽裝成編輯器的作業系統」。

Eclipse也是非常常用的開發利器,可以使用Eclipse來寫Go程式。

Goland是專門針對Go語言的整合開發環境,目前已成為付費軟體。

範例

接下來我們來寫第一個Go 程式hello.go(

Go 語言原始檔的副檔名是.go) ,程式碼如下:

hello.go 檔案

package main
 
import "fmt"
 
func main() {
    fmt.Println("Hello, World!")
}
登入後複製
要執行Go 語言程式碼可以使用 go run 指令。

執行上述程式碼輸出:

$ go run hello.go 
Hello, World!
登入後複製
此外我們也可以使用 go build 指令來產生二進位檔案:

$ go build hello.go 
$ ls
hello    hello.go
$ ./hello 
Hello, World!
登入後複製

Go 語言環境安裝

Go 語言支援下列系統:

    Linux
  • FreeBSD
  • Mac OS X(也稱為Darwin)
  • Windows
安裝套件下載網址為:https://golang.org/dl/

如果無法開啟可以使用這個位址:

Downloads - The Go Programming Language

各個系統對應的套件名稱:

作業系統套件名稱go1.4.windows-amd64.msigo1.4.linux-amd64.tar.gzgo1.4.darwin-amd64-osx10.8.pkg#go1.4 .freebsd-amd64.tar.gz
Windows
#Linux
Mac
FreeBSD


UNIX/Linux/Mac OS X, 和FreeBSD 安裝

以下介紹了在UNIX/Linux/Mac OS X, 和FreeBSD系統下使用原始碼安裝方法:

1、下載二進位套件:go1.4 .linux-amd64.tar.gz。

2、將下載的二進位套件解壓縮至 /usr/local目錄。

tar -C /usr/local -xzf go1.4.linux-amd64.tar.gz
登入後複製

3、將 /usr/local/go/bin 目錄加入 PATH 環境變數:

export PATH=$PATH:/usr/local/go/bin
登入後複製
登入後複製

以上只能暫時新增 PATH,關閉終端下次再登入就沒有了。

我們可以編輯~/.bash_profile 或/etc/profile,並將以下命令新增該檔案的結尾,這樣就永久生效了:

export PATH=$PATH:/usr/local/go/bin
登入後複製
登入後複製
新增後需要執行:

source ~/.bash_profile
或
source /etc/profile
登入後複製
注意:MAC 系統下你可以使用 .pkg 結尾的安裝包直接雙擊來完成安裝,安裝目錄在 #/usr/local/ go/
 下。

Windows 系統下安裝

#Windows 下可以使用.msi 後綴(在下載清單中可以找到該文件,如go1.4.2.windows-amd64.msi)的安裝套件來安裝。 預設 .msi 檔案會安裝在 c:\Go 目錄下。你可以將 c:\Go\bin 目錄加入 

Path

 環境變數中。新增後你需要重啟命令視窗才能生效。

安裝測試建立工作目錄 

C:\>Go_WorkSpace

test.go 檔案程式碼:

package main

import "fmt"

func main() {
   fmt.Println("Hello, World!")
}
登入後複製

使用go 指令執行上述程式碼輸出結果如下:

【相關推薦:

Go影片教學###】 ###

以上是go語言是程式語言嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

在Go語言中使用Redis Stream實現消息隊列時,如何解決user_id類型轉換問題? 在Go語言中使用Redis Stream實現消息隊列時,如何解決user_id類型轉換問題? Apr 02, 2025 pm 04:54 PM

Go語言中使用RedisStream實現消息隊列時類型轉換問題在使用Go語言與Redis...

GoLand中自定義結構體標籤不顯示怎麼辦? GoLand中自定義結構體標籤不顯示怎麼辦? Apr 02, 2025 pm 05:09 PM

GoLand中自定義結構體標籤不顯示怎麼辦?在使用GoLand進行Go語言開發時,很多開發者會遇到自定義結構體標籤在�...

Go語言中哪些庫是由大公司開發或知名的開源項目提供的? Go語言中哪些庫是由大公司開發或知名的開源項目提供的? Apr 02, 2025 pm 04:12 PM

Go語言中哪些庫是大公司開發或知名開源項目?在使用Go語言進行編程時,開發者常常會遇到一些常見的需求,�...

在Go編程中,如何正確管理Mysql和Redis的連接與釋放資源? 在Go編程中,如何正確管理Mysql和Redis的連接與釋放資源? Apr 02, 2025 pm 05:03 PM

Go編程中的資源管理:Mysql和Redis的連接與釋放在學習Go編程過程中,如何正確管理資源,特別是與數據庫和緩存�...

Golang的目的:建立高效且可擴展的系統 Golang的目的:建立高效且可擴展的系統 Apr 09, 2025 pm 05:17 PM

Go語言在構建高效且可擴展的系統中表現出色,其優勢包括:1.高性能:編譯成機器碼,運行速度快;2.並發編程:通過goroutines和channels簡化多任務處理;3.簡潔性:語法簡潔,降低學習和維護成本;4.跨平台:支持跨平台編譯,方便部署。

VSCode中如何解決Golang泛型函數類型約束被自動刪除的問題? VSCode中如何解決Golang泛型函數類型約束被自動刪除的問題? Apr 02, 2025 pm 02:15 PM

VSCode中Golang泛型函數類型約束的自動刪除問題在使用VSCode編寫Golang代碼時,用戶可能會遇到一個奇怪的問題。當...

多進程日誌寫入如何保證並發安全又高效? 多進程日誌寫入如何保證並發安全又高效? Apr 02, 2025 pm 03:51 PM

高效處理多進程日誌寫入的並發安全問題多進程同時寫入同一個日誌文件,如何保證並發安全且高效?這是一個...

在使用Go語言和viper庫時,為什麼傳遞指針的指針是必要的? 在使用Go語言和viper庫時,為什麼傳遞指針的指針是必要的? Apr 02, 2025 pm 04:00 PM

Go指針語法及viper庫使用中的尋址問題在使用Go語言進行編程時,理解指針的語法和使用方法至關重要,尤其是在...

See all articles