2021-10-22
“專業(yè)、務(wù)實(shí)、高效、創(chuàng)新、把客戶的事當(dāng)成自己的事”是我們每一個(gè)人一直以來堅(jiān)持追求的企業(yè)文化。 創(chuàng)新互聯(lián)是您可以信賴的網(wǎng)站建設(shè)服務(wù)商、專業(yè)的互聯(lián)網(wǎng)服務(wù)提供商! 專注于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、軟件開發(fā)、設(shè)計(jì)服務(wù)業(yè)務(wù)。我們始終堅(jiān)持以客戶需求為導(dǎo)向,結(jié)合用戶體驗(yàn)與視覺傳達(dá),提供有針對(duì)性的項(xiàng)目解決方案,提供專業(yè)性的建議,創(chuàng)新互聯(lián)建站將不斷地超越自我,追逐市場(chǎng),引領(lǐng)市場(chǎng)!
每一個(gè)變量(常量、類型或函數(shù))在程序中都有一定的作用范圍。稱之為作用域。
Go語言在編譯時(shí)會(huì)檢查每一個(gè)變量是否使用過,未使用過的變量就會(huì)編譯錯(cuò)誤。
根據(jù)變量定義位置的不同,可以分為以下三個(gè)類型:
在函數(shù)體內(nèi)被聲明的變量稱之為局部變量,作用在函數(shù)體內(nèi),函數(shù)的參數(shù)和返回值變量都屬于局部變量。局部變量不會(huì)一直存在,在函數(shù)被調(diào)用時(shí)存在,函數(shù)調(diào)用結(jié)束后變量就會(huì)被銷毀,即生命周期。
例子:其中a、b均為局部變量,只會(huì)在main函數(shù)內(nèi)有效
在函數(shù)體外被聲明的變量稱之為全局變量,作用于所有源文件。不包含這個(gè)全局變量的源文件需要使用"import"關(guān)鍵字引入全局變量所在的源文件之后才能使用這個(gè)全局變量。
全局變量聲明必須以 var 關(guān)鍵字開頭,如果想要在外部包中使用全局變量的首字母必須大寫。
例如:global為全局在main2和main函數(shù)中都能使用
函數(shù)名后面的小括號(hào)里定義的變量, 用于接受來自調(diào)用函數(shù)的參數(shù)。用于接收調(diào)用該函數(shù)時(shí)傳入的參數(shù)。
例如:下面的例子中,第十七行a、b為sum函數(shù)定義的形參,用于傳入main函數(shù)中的AF、BF
Transact-SQL 參考
GO
用信號(hào)通知 Microsoft? SQL Server? 實(shí)用工具一批 Transact-SQL 語句的結(jié)束。
語法
GO
注釋
GO 不是 Transact-SQL 語句;而是可為 osql 和 isql 實(shí)用工具及 SQL Server 查詢分析器識(shí)別的命令。
SQL Server 實(shí)用工具將 GO 解釋為應(yīng)將當(dāng)前的 Transact-SQL 批處理語句發(fā)送給 SQL Server 的信號(hào)。當(dāng)前批處理語句是自上一 GO 命令后輸入的所有語句,若是第一條 GO 命令,則是從特殊會(huì)話或腳本的開始處到這條 GO 命令之間的所有語句。SQL 查詢分析器和 osql 及 isql 命令提示實(shí)用工具執(zhí)行 GO 命令的方式不同。有關(guān)更多信息,請(qǐng)參見 osql 實(shí)用工具、isql 實(shí)用工具和 SQL 查詢分析器。
GO 命令和Transact-SQL 語句不可在同一行上。但在 GO 命令行中可包含注釋。
用戶必須遵照使用批處理的規(guī)則。例如,在批處理中的第一條語句后執(zhí)行任何存儲(chǔ)過程必須包含 EXECUTE 關(guān)鍵字。局部(用戶定義)變量的作用域限制在一個(gè)批處理中,不可在 GO 命令后引用。
USE pubs
GO
DECLARE @MyMsg VARCHAR(50)
SELECT @MyMsg = 'Hello, World.'
GO -- @MyMsg is not valid after this GO ends the batch.
-- Yields an error because @MyMsg not declared in this batch.
PRINT @MyMsg
GO
SELECT @@VERSION;
-- Yields an error: Must be EXEC sp_who if not first statement in
-- batch.
sp_who
GO
SQL Server 應(yīng)用程序可將多條 Transact-SQL 語句作為一個(gè)批處理發(fā)給 SQL Server 去執(zhí)行。在此批處理中的語句編譯成一個(gè)執(zhí)行計(jì)劃。程序員在 SQL Server 實(shí)用工具中執(zhí)行特定語句,或生成 Transact-SQL 語句腳本在 SQL Server 實(shí)用工具中運(yùn)行,用 GO 來標(biāo)識(shí)批處理的結(jié)束。
如果基于 DB-Library、ODBC 或 OLE DB APIs 的應(yīng)用程序試圖執(zhí)行 GO 命令時(shí)會(huì)收到語法錯(cuò)誤。SQL Server 實(shí)用工具永遠(yuǎn)不會(huì)向服務(wù)器發(fā)送 GO 命令。
權(quán)限
GO 是一個(gè)不需權(quán)限的實(shí)用工具命令。可以由任何用戶執(zhí)行。
示例
下面的示例創(chuàng)建兩個(gè)批處理。第一個(gè)批處理只包含一條 USE pubs 語句,用于設(shè)置數(shù)據(jù)庫(kù)上下文。剩下的語句使用了一個(gè)局部變量,因此所有的局部變量聲明必須在一個(gè)批處理中。這一點(diǎn)可通過在最后一條引用此變量的語句之后才使用 GO 命令來做到。
USE pubs
GO
DECLARE @NmbrAuthors int
SELECT @NmbrAuthors = COUNT(*)
FROM authors
PRINT 'The number of authors as of ' +
CAST(GETDATE() AS char(20)) + ' is ' +
CAST(@NmbrAuthors AS char (10))
GO
允許。閉包是指有權(quán)訪問另一個(gè)函數(shù)作用域中的變量的函數(shù),創(chuàng)建閉包的常見方式就是在一個(gè)函數(shù)內(nèi)部創(chuàng)建另一個(gè)函數(shù),內(nèi)函數(shù)可以訪問外函數(shù)的變量