Go 入門 - 包,函數和變數

來源:互聯網
上載者:User

標籤:nic   關鍵字   沒有   初始化   教程   pytho   多個   結構   func   

主要內容來自中文版的同名教程Go語言之旅
其目的為總結要點

包,函數和變數包

import 文法,多個用括弧換行擴起,包之間不需要間隔符,用引號引起

import (    "fmt"    "math/rand")// 官方認為分組匯入比多個匯入更好// 用`.`引用包內對象,僅有首字母大寫的那些對象是可匯出的
函數

函式宣告

func add(x int, y int) int { //類型在變數名之後    return x + y}func add(x, y int, s string) int { // 其實輸入變數就像是沒有var的變數聲明一樣    fmt.Println(s)     return x + y}func swap(x, y string) (string, string) { // 函數的傳回值只用宣告類型,也可以返回多個值,但是要記住用括弧括起來    return y, x}func split(sum int) (x, y int) { // 傳回值也可以提前聲明好,這樣就可以直接用了,官方建議這種用法還是用在短函數裡面    x = sum * 4 / 9    y = sum - x    return}
變數
var c, python, java bool // var 可以用在包或者函數層級的聲明中var i, j int = 1, 2 // 變數可以初始化var c, python, java = true, false, "no!" // 初始化值存在時,可以省略類型c, python, java := true, false, "no!" // 和上一個等效var (    c, python bool    java string) // 這種操作也是存在的

我們說var =:= 是等價的。但是函數外(包之外)的每一個語句都必須以關鍵字開頭,因此:=這種結構不能用在函數之外。

boolstringint  int8  int16  int32  int64uint uint8 uint16 uint32 uint64 uintptrbyte // uint8 的別名rune // int32 的別名     // 表示一個 Unicode 碼點float32 float64complex64 complex128 // go 支援複數運算

go 的變數需要顯示類型轉換

var i int = 42var f float64 = float64(i)var u uint = uint(f)// 如果在函數內i := 42f := float64(i)u := uint(f)

常量聲明

const World = "世界"

不能用:=,數值常量是高精度的值,有意思的是,他可以被解釋成intfloat

Go 入門 - 包,函數和變數

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.