日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

go语言复数包_go语言学习之包和变量详解

發(fā)布時(shí)間:2025/3/20 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 go语言复数包_go语言学习之包和变量详解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

本文主要介紹了關(guān)于go語(yǔ)言之包和變量的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。

一、包的概念

包是go語(yǔ)言中不可缺少部分,在每個(gè)go源碼的第一行進(jìn)行定義,定義方式是:package "包名",并且該名稱(chēng)是作為調(diào)用該包時(shí)候所使用的名稱(chēng)。

包的概念總結(jié):

每個(gè) Go 文件都屬于且僅屬于一個(gè)包。一個(gè)包可以由許多以 .go 為擴(kuò)展名的源文件組成,因此文件名和包名可能不同,為了規(guī)范,功能相似或者屬于相同性質(zhì)的源碼歸集到相同的包名中。

每個(gè)應(yīng)用程序都必須有且只有一個(gè)包名稱(chēng)為main,他是該程序的入口,執(zhí)行時(shí)候會(huì)尋找包名為main的代碼

包與包之間可以被相互調(diào)用,主要為了減少代碼重復(fù)性

包一旦被引入就需要被使用,除非引入的時(shí)候忽略它(前面加_表示忽略它,只是用它來(lái)初始化),如果引入了包,而在代碼中沒(méi)用使用,運(yùn)行時(shí)候會(huì)報(bào)錯(cuò)

二、包的引入

1.包引入的方法

方法一:

import "fmt"

import "os"

方法二:

import "fmt"; import "os"

方法三(推薦!)

import (

"fmt"

"os"

)

2.引入其他包

go語(yǔ)言中,引入包的路徑是根據(jù)GOPATH/src 這個(gè)環(huán)境變量作為相對(duì)路徑進(jìn)行引入的,如果GOPATH存在多個(gè),那么go將逐一尋找路徑,直到找到,若GOPATH/src未找到則編譯出錯(cuò)。

示例:

我的GOPATH為:C:\Users\17647\Desktop\go_work\src

首先建立包文件1:C:\Users\17647\Desktop\go_work\src\day02\eg1\pkg.go(相對(duì)于GOPATH/src的路徑為day02\eg1\pkg.go)

內(nèi)容如下:

package add

import "fmt"

func Sum(a int,b int) {

var c int

c = a + b

fmt.Println("res",c)

}

在main進(jìn)行引入如下:

package main

import (

"fmt"

"day02/eg1" /* 引入包 */

)

func main() {

add.Sum(2,3) /* 調(diào)用包 */

fmt.Println("Hello, World!")

}

圖示:

二、變量

1.單個(gè)變量的聲明

go語(yǔ)言中,所有變量都必須先聲明在使用,下面是聲明變量和賦值方法:

先聲明后賦值: var ???????? 賦值:變量的賦值格式: =

聲明的同時(shí)賦值:var = ?? (簡(jiǎn)寫(xiě)為 變量名稱(chēng) :=? 表達(dá)式)

示例:

package main

import "fmt"

func main() {

var a string /* 聲明一個(gè)變量名為a,類(lèi)型為字符串的變量 */

a = "wd" /* 對(duì)a變量賦值*/

var age int = 22 /* 聲明并賦值變量 */

fmt.Println(a,age)

}

2.多個(gè)變量聲明

先聲明后賦值:var ,,? ???? 賦值 : , =? 值1,值2

聲明同時(shí)賦值 :var? , = 值1,值2?? 可簡(jiǎn)寫(xiě)為: , = 值1,值2

多個(gè)變量還可以使用var()聲明

示例:

package main

import "fmt"

func main() {

var a,b int

a,b = 1,2

var c,d = 3,"wd" /* 類(lèi)型自動(dòng)推斷 */

e, f := 4, "hello" /* 簡(jiǎn)寫(xiě) */

fmt.Println(a,b,c,d,e,f)

}

使用var()聲明

package main

import "fmt"

func main() {

var (

a int //默認(rèn)值為0

b string // 默認(rèn)值為空字符串("")

c = 3

)

fmt.Println(a,b,c)

}

3.變量名

命名原則:

首字符可以是任意的Unicode字符或者下劃線

剩余字符可以是Unicode字符、下劃線、數(shù)字

不能作為用以下關(guān)鍵字作為變量名

break??????? default????? func???????? interface??? select

case???????? defer??????? go?????????? map????????? struct

chan???????? else???????? goto???????? package????? switch

const??????? fallthrough? if?????????? range??????? type

continue???? for????????? import?????? return?????? var

4.可見(jiàn)性

可見(jiàn)性即對(duì)包外可見(jiàn),當(dāng)其他包調(diào)用當(dāng)前包的變量時(shí)候是否允許可見(jiàn)(可訪問(wèn))。

變量開(kāi)頭字符大寫(xiě),表示可見(jiàn)

變量開(kāi)頭字母非大寫(xiě),則表示私有,不可見(jiàn)

5.變量的作用域

函數(shù)內(nèi)定義的變量稱(chēng)為局部變量,其作用域在函數(shù)內(nèi)

函數(shù)外定義的變量稱(chēng)為全局變量,作用于整個(gè)包,并且該變量首字母大寫(xiě),則對(duì)其他包可見(jiàn)。

三、常量

常量是一個(gè)簡(jiǎn)單值的標(biāo)識(shí)符,在程序運(yùn)行時(shí),不會(huì)被修改的量。

常量中的數(shù)據(jù)類(lèi)型只可以是布爾型、數(shù)字型(整數(shù)型、浮點(diǎn)型和復(fù)數(shù))和字符串型。

定義常量語(yǔ)法:

const 名稱(chēng) 類(lèi)型 = value

多個(gè)常量定義語(yǔ)法:

const (

a = 0 //類(lèi)型自動(dòng)推倒

b = 1

c = 2

)

iota解釋:

iota,特殊常量,可以認(rèn)為是一個(gè)可以被編譯器修改的常量。

在每一個(gè)const關(guān)鍵字出現(xiàn)時(shí),被重置為0,然后再下一個(gè)const出現(xiàn)之前,每出現(xiàn)一次iota,其所代表的數(shù)字會(huì)自動(dòng)增加1。

iota 可以被用作枚舉值:

const (

a = iota

b = iota

c = iota

)

第一個(gè) iota 等于 0,每當(dāng) iota 在新的一行被使用時(shí),它的值都會(huì)自動(dòng)加 1;所以 a=0, b=1, c=2 可以簡(jiǎn)寫(xiě)為如下形式:

const (

a = iota

b

c

)

用法:

package main

import "fmt"

func main() {

const (

a = iota //0

b //1

c //2

d = "ha" //獨(dú)立值,iota += 1

e //"ha" iota += 1

f = 100 //iota +=1

g //100 iota +=1

h = iota //7,恢復(fù)計(jì)數(shù)

i //8

)

fmt.Println(a,b,c,d,e,f,g,h,i)

}

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專(zhuān)家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的go语言复数包_go语言学习之包和变量详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。