W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
原文鏈接:https://gopl-zh.github.io/ch2/ch2-02.html
聲明語(yǔ)句定義了程序的各種實(shí)體對(duì)象以及部分或全部的屬性。Go語(yǔ)言主要有四種類(lèi)型的聲明語(yǔ)句:var、const、type和func,分別對(duì)應(yīng)變量、常量、類(lèi)型和函數(shù)實(shí)體對(duì)象的聲明。這一章我們重點(diǎn)討論變量和類(lèi)型的聲明,第三章將討論常量的聲明,第五章將討論函數(shù)的聲明。
一個(gè)Go語(yǔ)言編寫(xiě)的程序?qū)?yīng)一個(gè)或多個(gè)以.go為文件后綴名的源文件。每個(gè)源文件中以包的聲明語(yǔ)句開(kāi)始,說(shuō)明該源文件是屬于哪個(gè)包。包聲明語(yǔ)句之后是import語(yǔ)句導(dǎo)入依賴的其它包,然后是包一級(jí)的類(lèi)型、變量、常量、函數(shù)的聲明語(yǔ)句,包一級(jí)的各種類(lèi)型的聲明語(yǔ)句的順序無(wú)關(guān)緊要(譯注:函數(shù)內(nèi)部的名字則必須先聲明之后才能使用)。例如,下面的例子中聲明了一個(gè)常量、一個(gè)函數(shù)和兩個(gè)變量:
gopl.io/ch2/boiling
// Boiling prints the boiling point of water.
package main
import "fmt"
const boilingF = 212.0
func main() {
var f = boilingF
var c = (f - 32) * 5 / 9
fmt.Printf("boiling point = %g°F or %g°C\n", f, c)
// Output:
// boiling point = 212°F or 100°C
}
其中常量boilingF是在包一級(jí)范圍聲明語(yǔ)句聲明的,然后f和c兩個(gè)變量是在main函數(shù)內(nèi)部聲明的聲明語(yǔ)句聲明的。在包一級(jí)聲明語(yǔ)句聲明的名字可在整個(gè)包對(duì)應(yīng)的每個(gè)源文件中訪問(wèn),而不是僅僅在其聲明語(yǔ)句所在的源文件中訪問(wèn)。相比之下,局部聲明的名字就只能在函數(shù)內(nèi)部很小的范圍被訪問(wèn)。
一個(gè)函數(shù)的聲明由一個(gè)函數(shù)名字、參數(shù)列表(由函數(shù)的調(diào)用者提供參數(shù)變量的具體值)、一個(gè)可選的返回值列表和包含函數(shù)定義的函數(shù)體組成。如果函數(shù)沒(méi)有返回值,那么返回值列表是省略的。執(zhí)行函數(shù)從函數(shù)的第一個(gè)語(yǔ)句開(kāi)始,依次順序執(zhí)行直到遇到return返回語(yǔ)句,如果沒(méi)有返回語(yǔ)句則是執(zhí)行到函數(shù)末尾,然后返回到函數(shù)調(diào)用者。
我們已經(jīng)看到過(guò)很多函數(shù)聲明和函數(shù)調(diào)用的例子了,在第五章將深入討論函數(shù)的相關(guān)細(xì)節(jié),這里只簡(jiǎn)單解釋下。下面的fToC函數(shù)封裝了溫度轉(zhuǎn)換的處理邏輯,這樣它只需要被定義一次,就可以在多個(gè)地方多次被使用。在這個(gè)例子中,main函數(shù)就調(diào)用了兩次fToC函數(shù),分別使用在局部定義的兩個(gè)常量作為調(diào)用函數(shù)的參數(shù)。
gopl.io/ch2/ftoc
// Ftoc prints two Fahrenheit-to-Celsius conversions.
package main
import "fmt"
func main() {
const freezingF, boilingF = 32.0, 212.0
fmt.Printf("%g°F = %g°C\n", freezingF, fToC(freezingF)) // "32°F = 0°C"
fmt.Printf("%g°F = %g°C\n", boilingF, fToC(boilingF)) // "212°F = 100°C"
}
func fToC(f float64) float64 {
return (f - 32) * 5 / 9
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: