溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

A Tour of Go: Basics 1

發(fā)布時(shí)間:2020-07-16 15:10:34 來(lái)源:網(wǎng)絡(luò) 閱讀:381 作者:zxdevops 欄目:編程語(yǔ)言

Packages, variables and functions

Packages

packages中,以大寫(xiě)字母開(kāi)頭的name是exported name,當(dāng)import package時(shí),只有exported name可以被從外部訪問(wèn)。

Functions

同type的連續(xù)參數(shù)可以只在最后指明type。
函數(shù)可以有多個(gè)返回值。

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

Go支持有name的返回值:

  • 函數(shù)定義時(shí)就定義好返回變量名,在函數(shù)內(nèi)操作返回變量。
  • 用naked return語(yǔ)句返回。
func split(sum int) (x, y int) {
        x = sum * 4 / 9
        y = sum - x
        return
}

注意點(diǎn):文中建議只在短函數(shù)中這樣使用,因?yàn)殚L(zhǎng)了容易影響可讀性。

Variables

var關(guān)鍵字定義變量。
有初始值時(shí)可以省略type。
技巧及注意點(diǎn):

  • 在函數(shù)內(nèi),可以使用:=符號(hào)替換有初始值的變量定義。
  • 但是在函數(shù)外,所有語(yǔ)句必須以關(guān)鍵字開(kāi)始,所以不能使用:=符號(hào)。

Basic types

bool
string
int  int8  int16  int32  int64
uint uint8 uint16 uint32 uint64 uintptr
byte // alias for uint8
rune // alias for int32
        // represents a Unicode code point
float32 float64
complex64 complex128

技巧:

  • var和import都可以用小括號(hào)聲明多個(gè)包或變量。
  • 文中建議,如無(wú)特殊需求,使用int就好,不必指明size或sign。

變量定義時(shí),如不指定初始值,則分配對(duì)應(yīng)type的默認(rèn)值。

  • numeric type: 0
  • bool: false
  • string: ""

表達(dá)式T(v)表示將值v轉(zhuǎn)換成T類型:

var i = 10
var f = float64(i)

注意點(diǎn):與C語(yǔ)言不同,Go必須顯式轉(zhuǎn)換。

常量定義將var換成const關(guān)鍵字即可,不過(guò)不能使用:=符號(hào)。

疑問(wèn)

  1. Numeric constants are high-precision values.
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI