跳到主要內容

Go 語言學習之路(二)

1.函式

範例程式碼

package main

import "fmt"

func add(x int, y int) int {
    return x + y
}

func main() {
    fmt.Println(add(42, 13))
}

函數可以沒有參數或接受多個參數。
在這個例子中," add " 接受兩個 int 類型的參數。
注意類型在變數之後。
return 代表傳回的數值為何,這裡表示傳回 x + y 也就是 42+13 ,所以結果會是 55。
詳細的語法定義可以參考官方文件

當兩個或多個連續的函數命名參數是同一類型,則除了最後一個類型之外,其他都可以省略。
舉例來說
x int, y int
可以被縮寫為
x, y int
也就是說上面的範例程式碼可以改成
package main

import "fmt"

func add(x, y int) int {
    return x + y
}

func main() {
    fmt.Println(add(42, 13))
}
 兩種方法的輸出結果都會是相同的。

輸出結果

55
-----------------------------------------------------------------------------------------------------------------------
2.多數值的返回
範例程式碼
package main

import "fmt"

func swap(x, y string) (string, string) {
    return y, x
}

func main() {
    a, b := swap("hello", "world")
    fmt.Println(a, b)
}
函數可以返回任意數量的返回值。
這個函數返回了兩個字串。


輸出結果
world hello
-----------------------------------------------------------------------------------------------------------------------
3.命名返回值

範例程式碼
package main

import "fmt"

func split(sum int) (x, y int) {
    x = sum * 4 / 9
    y = sum - x
    return
}

func main() {
    fmt.Println(split(17))
}
在 Go 中,函數可以返回多個「結果參數」,而不僅僅是一個值。它們可以像變數那樣命名和使用。
如果命名了返回值參數,一個沒有參數的 return 語句,會將當前的值作為返回值返回。

以這個程式碼為例,sum int 表示宣告整數 sum ,將參數 17 放入 sum 中,x, y int 宣告整數 x,y 在下面使用,由於 return 沒有設定返回值,這邊程式就將 x,y 都回傳了,所以結果會出現 7 10。

輸出結果
7 10
-----------------------------------------------------------------------------------------------------------------------
:= 的用法,在後面會有較詳細的說明。
-----------------------------------------------------------------------------------------------------------------------
此為個人學習 Go 語言的過程記錄僅供參考,如有錯誤歡迎回報討論。
部分語句引用官方的說明。
部分用字遣詞可能會與他人理解有出入,歡迎討論。 
By  You-Ruei Tzeng

留言

這個網誌中的熱門文章

從 Aptana Studio 3 開始開發 Python

Aptana Studio 3 載點 請戳我 從這裡開始介紹  Standalone Version 版本的 Python 開發環境安裝法 如果使用 Eclipse Plug-in Version 這裡不提供 步驟一    安裝 Python 程式語言 載點 請戳我 這裡有 Python 2 跟 Python 3 請自行選擇安裝的版本 新舊版的語法格式有差  這裡介紹 Python 3 的安裝方法   我在這裡選擇用 Python 3.2.3 版 64 位元的版本  這裡選擇讓哪些使用者可以使用 Python Install for all users  所有使用者可以使用 Install just for me    只有自己可以使用  選擇安裝目錄 預設是在 C:\Python32\    *數字代表版本號  不同版本會不同  這裡可以選擇各種關方額外提供的工具 可以自由選擇 我在這裡不改變(全部安裝)  耐心的等待他跑完吧  不會太久 點選 Finish 完成安裝  耶~ Python 裝完了 ----------------------------------------------------------------------------------------------------------------------------- 使用官方的工具開發  <----不想看可以往下跳到 Aptana Studio 3 的開發環境設置     IDLE 為官方提供的 GUI (圖形化介面) 程式 Module Docs 一些腳本的說明 Python (command line) 命令列式的程式 Python Manuals 給學習者的教學文件 Uninstall Python 移除 Python  在這裡啟動IDLE 你在這裡可以簡易的使用 Python 的功能 你可以試試輸入 a=...

Go 語言學習之路(一)

1.Hello 世界 範例程式碼 package main import "fmt" func main() {     fmt.Println("Hello, 世界") } 每一個 Go 程式由 package 組成。 程式開始於 package main。 在這裡匯入 fmt ,我尋找不少資料,但是我沒看到有文章對於 fmt 的描述,所以我只好自己推測,我想應該是 format,歡迎知道的人提供一下。 fmt.Println 的意思是使用 fmt package 的 Println 函式,它代表著印出並且換行。 輸出結果 Hello, 世界 ----------------------------------------------------------------------------------------------------------------------- 2. 匯入 範例程式碼 package main import (     "fmt"     "math" ) func main() {     fmt.Printf("Now you have %g problems.",         math.Nextafter(2, 3)) } 這個範例匯入了 package fmt 和 math ,這裡使用 { } 來做連用,用這個方法可以大量匯入package 而不用一行一行匯入 package。 輸出結果 Now you have 2.0000000000000004 problems. ----------------------------------------------------------------------------------------------------------------------- 3. 匯入名(Exported names) 範例程式碼 package main import (  ...

Linux 桌面環境

當我們啟動電腦進入作業系統後,首先映入眼簾的是啟動畫面,接著會來到登入管理畫面,請用戶輸入帳號密碼,驗證無誤後便會登入你的桌面環境。 為什麼要稱作桌面環境呢?因為起先電腦的使用環境即是仿效日常工作時所用的「桌面」,桌面上可以擺放常用或想處理的東西,像是常用的程式、想工作的文件等。為了方便工作,也設計了可以隨時切換程式的工作列。另外還有通知系統狀態,或是程式狀態的系統匣,程式們會縮成小圖示擺放其中,平時隱藏起來,等候使用者有空時點按取得訊息或處理。 桌面環境除了具備基本的視窗管理功能、基本介面操作之外,還提供各種易用程式方便使用者工作,例如檔案瀏覽器、文字處理器、圖片檢視器、音樂播放器、網頁瀏覽器、郵件閱讀器、行事曆... 等,幾乎已可應付日常生活之用。 但近來桌面環境的典範已開始移轉,各家桌面環境的設計者與開發者大多重新思索桌面環境的未來,試圖重新定義桌面環境的使用體驗。當然,有人思想前衛,也有人想維持穩定,還有人試著在兩者之間取得平衡。 GNOME GNOME 全名 GNU Network Object Model Environment,GNU 網路物件模型環境。GNOME 3 的設計相當新穎,頗有向平板靠攏的意味,但在一般電腦上使用仍又不失易用性與可用性。 GNOME 3 的設計大量參考各種常見的使用介面,因此能從中學習經典與精良之處,並開創出自己的路來。GNOME 3 以專注眼前不干擾工作、輕鬆概覽系統發生的大小事為理念,設計出獨具的 GNOME Shell 操作方式。平時畫面上方有一道橫列,正中央是目前的日期時間,點按下去可以看到最近的行事曆,而行事曆和 GNOME 中 evolution 程式的行事曆相整合,最右方是各式常駐程式圖示,像是輸入法、無障礙輔助科技、音量、藍牙、網路、使用者選單等,方便使用者更動相關設定。此外,所有與通知相關的功能皆整合在畫面右下方的熱角中,像是 empathy 即時通訊程式中從其他人傳來的訊息、可卸除裝置的插入提示、Rythmbox 的播放提示等,平時隱藏起來,只在事件發生時才彈出提示一段時間,若之後想再觀看訊息,只要讓滑鼠游標向右下方的熱角撞擊,就能快速一覽系統通知。 使用者選單也與 GNOME 中的 empathy 即時通訊程式相整合,可以設定是否上線;而也可設定是否彈出顯示 GNOME 的任...