go語言多級(jí)包名 go語言包名規(guī)范

go語言語法(基礎(chǔ)語法篇)

import "workname/packetfolder"

創(chuàng)新互聯(lián)建站從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元鞏義做網(wǎng)站,已為上家服務(wù),為鞏義各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108

導(dǎo)入多個(gè)包

方法調(diào)用 包名.函數(shù)//不是函數(shù)或結(jié)構(gòu)體所處文件或文件夾名

packagename.Func()

前面加個(gè)點(diǎn)表示省略調(diào)用,那么調(diào)用該模塊里面的函數(shù),可以不用寫模塊名稱了:

當(dāng)導(dǎo)入一個(gè)包時(shí),該包下的文件里所有init()函數(shù)都會(huì)被執(zhí)行,然而,有些時(shí)候我們并不需要把整個(gè)包都導(dǎo)入進(jìn)來,僅僅是是希望它執(zhí)行init()函數(shù)而已。下劃線的作用僅僅是為了調(diào)用init()函數(shù),所以無法通過包名來調(diào)用包中的其他函數(shù)

import _ package

變量聲明必須要使用否則會(huì)報(bào)錯(cuò)。

全局變量運(yùn)行聲明但不使用。

func 函數(shù)名 (參數(shù)1,參數(shù)2,...) (返回值a 類型a, 返回值b 類型b,...)

func 函數(shù)名 (參數(shù)1,參數(shù)2,...) (返回值類型1, 返回值類型2,...)

func (this *結(jié)構(gòu)體名) 函數(shù)名(參數(shù) string) (返回值類型1, 返回值類型2){}

使用大小來區(qū)分函數(shù)可見性

大寫是public類型

小寫是private類型

func prifunc int{}

func pubfunc int{}

聲明靜態(tài)變量

const value int

定義變量

var value int

聲明一般類型、接口和結(jié)構(gòu)體

聲明函數(shù)

func function () int{}

go里面所有的空值對(duì)應(yīng)如下

通道類型

內(nèi)建函數(shù) new 用來分配內(nèi)存,它的第一個(gè)參數(shù)是一個(gè)類型,不是一個(gè)值,它的返回值是一個(gè)指向新分配類型零值的指針

func new(Type) *Type

[這位博主有非常詳細(xì)的分析]

Go 語言支持并發(fā),我們只需要通過 go 關(guān)鍵字來開啟 goroutine 即可。

goroutine 是輕量級(jí)線程,goroutine 的調(diào)度是由 Golang 運(yùn)行時(shí)進(jìn)行管理的。

同一個(gè)程序中的所有 goroutine 共享同一個(gè)地址空間。

語法格式如下:

通道(channel)是用來傳遞數(shù)據(jù)的一個(gè)數(shù)據(jù)結(jié)構(gòu)。

通道的聲明

通道可用于兩個(gè) goroutine 之間通過傳遞一個(gè)指定類型的值來同步運(yùn)行和通訊。操作符 - 用于指定通道的方向,發(fā)送或接收。如果未指定方向,則為雙向通道。

[這里有比較詳細(xì)的用例]

go里面的空接口可以指代任何類型(無論是變量還是函數(shù))

聲明空接口

go里面的的強(qiáng)制類型轉(zhuǎn)換語法為:

int(data)

如果是接口類型的強(qiáng)制轉(zhuǎn)成其他類型的語法為:

go里面的強(qiáng)制轉(zhuǎn)換是將值復(fù)制過去,所以在數(shù)據(jù)量的時(shí)候有比較高的運(yùn)行代價(jià)

4.2 Go語言中包(Packages)的命名

包名本質(zhì)上是所在目錄的名稱,我們?cè)诨A(chǔ)知識(shí)演示用例中進(jìn)行擴(kuò)展,進(jìn)一步理解包名,執(zhí)行前需要執(zhí)行的命令請(qǐng)參考上一節(jié),首先來看一下目錄結(jié)構(gòu):

此時(shí),如果我們想使用subpackage/sub/subfunc.go時(shí),需要import的是subpackage/sub,而不是subpackage/sub/subfunc,來看具體的實(shí)現(xiàn):

我們回到使用的主函數(shù)中,我們?cè)谥骱瘮?shù)中引入"subpackage/sub",而調(diào)用中直接使用了文件名稱myfunc

執(zhí)行的結(jié)果如下

如何在Go語言中導(dǎo)入和使用不同的同名軟件包

package?p2

//整數(shù)變量

var?Pack1Int?int?=?42

//浮點(diǎn)變量

var?PackFloat?=?3.14

//簡單函數(shù)

func?ReturnStr()?string?{

return?"Hello?main!"

}

package?main

import?(

"./p2"

"fmt"

)

//程序入口

func?main()?{

//定義一個(gè)變量

var?test1?string

//接收p2包中函數(shù)的返回值

test1?=?p2.ReturnStr()

//打印函數(shù)返回值

fmt.Println("------haliluya---------",?test1)

//打印變量

fmt.Println("------haliluya---------",?p2.Pack1Int)

fmt.Println("------haliluya---------",?p2.PackFloat)

}

p2.ReturnStr()? 通過包名調(diào)用

當(dāng)前名稱:go語言多級(jí)包名 go語言包名規(guī)范
文章網(wǎng)址:http://bm7419.com/article30/ddcdsso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT關(guān)鍵詞優(yōu)化、網(wǎng)站制作域名注冊(cè)、云服務(wù)器、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站