国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Go語言】常用變量類型的創(chuàng)建

這篇具有很好參考價(jià)值的文章主要介紹了【Go語言】常用變量類型的創(chuàng)建。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1. 切片slice

在Go語言中,創(chuàng)建切片有兩種常見的方式:使用 var 聲明空切片和使用 make 函數(shù)。

  • 使用 var 聲明空切片:
var s []int
s = append(s, 100)

這種方式會(huì)聲明一個(gè)空的切片,初始時(shí)沒有分配底層數(shù)組。你可以使用 append 函數(shù)向空切片中添加元素,切片會(huì)根據(jù)需要自動(dòng)擴(kuò)容。

  • 使用 make 函數(shù)創(chuàng)建切片:
s := make([]int, 0)

這種方式使用 make 函數(shù)創(chuàng)建了一個(gè)初始長度為0的切片,并分配了對應(yīng)的底層數(shù)組。你可以使用 append 函數(shù)向切片中添加元素,切片會(huì)在需要時(shí)自動(dòng)擴(kuò)容。
區(qū)別:
使用 var 聲明空切片時(shí),切片的底層數(shù)組在初始時(shí)不會(huì)被分配。只有在使用 append 函數(shù)添加元素時(shí),才會(huì)根據(jù)需要?jiǎng)討B(tài)分配底層數(shù)組。
使用 make 函數(shù)創(chuàng)建切片時(shí),切片的底層數(shù)組會(huì)在初始時(shí)被分配。通過 make 函數(shù)創(chuàng)建的切片已經(jīng)具有了初始的長度和容量,可以直接使用 append 函數(shù)添加元素。

2. 映射map

在 Go 語言中,創(chuàng)建一個(gè) map 類型的變量有兩種常見的方式:使用 make 函數(shù)和直接聲明。這兩種方式有一些區(qū)別:

  • 使用 make 函數(shù)創(chuàng)建 map:
m := make(map[keyType]valueType)

這種方式使用 make 函數(shù)來創(chuàng)建一個(gè)空的 map,并分配了對應(yīng)的內(nèi)存空間。你可以在后續(xù)的代碼中使用賦值操作符(=)來添加鍵值對到 map 中。

  • 直接聲明 map 變量:
var m map[keyType]valueType

這種方式只是聲明了一個(gè) map 類型的變量,但沒有分配內(nèi)存空間。在這種情況下,map 變量是一個(gè) nil 值,不能直接使用。你需要使用 make 函數(shù)來分配內(nèi)存空間,然后才能向 map 中添加鍵值對。
以下是兩種方式的示例:

  • 使用 make 函數(shù)創(chuàng)建 map:
m := make(map[string]int)
m["a"] = 1
m["b"] = 2
fmt.Println(m) // 輸出: map[a:1 b:2]
  • 直接聲明 map 變量:
var m map[string]int
m = make(map[string]int)
m["a"] = 1
m["b"] = 2
fmt.Println(m) // 輸出: map[a:1 b:2]

需要注意的是,無論是使用 make 函數(shù)還是直接聲明 map 變量,都需要在使用前進(jìn)行初始化。否則,如果直接使用一個(gè)空的 map(nil 值),會(huì)導(dǎo)致運(yùn)行時(shí)錯(cuò)誤。

3. 通道channel

在 Go 語言中,可以使用聲明定義通道變量,但需要在使用前通過 make 函數(shù)進(jìn)行初始化,否則會(huì)導(dǎo)致運(yùn)行時(shí)錯(cuò)誤。
以下是通過聲明定義通道變量并使用的示例:

var ch chan int // 聲明一個(gè)通道變量

// 初始化通道
ch = make(chan int)

// 使用通道進(jìn)行發(fā)送和接收操作
go func() {
    ch <- 42 // 發(fā)送數(shù)據(jù)到通道
}()
val := <-ch // 從通道接收數(shù)據(jù)
fmt.Println(val) // 輸出: 42

在上述示例中,我們首先使用 var 關(guān)鍵字聲明了一個(gè)名為 ch 的通道變量,然后使用 make 函數(shù)對其進(jìn)行初始化。在后續(xù)的代碼中,我們可以使用通道進(jìn)行發(fā)送和接收操作。
需要注意的是,如果在使用通道之前沒有進(jìn)行初始化,即沒有使用 make 函數(shù)對其進(jìn)行初始化,那么在嘗試發(fā)送或接收數(shù)據(jù)時(shí),會(huì)導(dǎo)致運(yùn)行時(shí)錯(cuò)誤。因此,為了安全起見,在使用通道之前應(yīng)該始終使用 make 函數(shù)進(jìn)行初始化。文章來源地址http://www.zghlxwxcb.cn/news/detail-821170.html

到了這里,關(guān)于【Go語言】常用變量類型的創(chuàng)建的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【JAVA】數(shù)據(jù)類型與變量(主要學(xué)習(xí)與c語言不同之處)

    【JAVA】數(shù)據(jù)類型與變量(主要學(xué)習(xí)與c語言不同之處)

    ?作者簡介:大家好,我是橘橙黃又青,一個(gè)想要與大家共同進(jìn)步的男人???? ??個(gè)人主頁:橘橙黃又青-CSDN博客 目標(biāo): 1. 字面常量 2. 數(shù)據(jù)類型 3. 變量 在上節(jié)課 HelloWorld 程序中, System.Out.println(\\\"Hello World\\\") ; 語句,不論程序何時(shí)運(yùn)行,輸出的都是 Hello World,其實(shí) \\\"Hello Wo

    2024年03月28日
    瀏覽(23)
  • 【go語言學(xué)習(xí)筆記】05 Go 語言實(shí)戰(zhàn)

    【go語言學(xué)習(xí)筆記】05 Go 語言實(shí)戰(zhàn)

    在做項(xiàng)目開發(fā)的時(shí)候,要善于借助已經(jīng)有的輪子,讓自己的開發(fā)更有效率,也更容易實(shí)現(xiàn)。 1. RESTful API 定義 RESTful API 是一套規(guī)范,它可以規(guī)范如何對服務(wù)器上的資源進(jìn)行操作。和 RESTful API 和密不可分的是 HTTP Method。 1.1 HTTP Method HTTP Method最常見的就是POST和GET,其實(shí)最早在

    2024年02月13日
    瀏覽(23)
  • 6.Go語言學(xué)習(xí)筆記-結(jié)合chatGPT輔助學(xué)習(xí)Go語言底層原理

    6.Go語言學(xué)習(xí)筆記-結(jié)合chatGPT輔助學(xué)習(xí)Go語言底層原理

    1、Go版本 2、匯編基礎(chǔ) 推薦閱讀:GO匯編語言簡介 推薦閱讀:A Quick Guide to Go\\\'s Assembler - The Go Programming Language 精簡指令集 數(shù)據(jù)傳輸: MOV/LEA 跳轉(zhuǎn)指令: CMP/TEST/JMP/JCC 棧指令: PUSH/POP 函數(shù)調(diào)用指令: CALL/RET 算術(shù)指令: ADD/SUB/MUL/DIV 邏輯指令: AND/OR/XOR/NOT 移位指令: SHL/SHR JCC有條件跳轉(zhuǎn): JE

    2024年02月04日
    瀏覽(29)
  • 【go語言學(xué)習(xí)筆記】04 Go 語言工程管理

    【go語言學(xué)習(xí)筆記】04 Go 語言工程管理

    1. 單元測試 單元測試是保證代碼質(zhì)量的好方法,但單元測試也不是萬能的,使用它可以降低 Bug 率,但也不要完全依賴。除了單元測試外,還可以輔以 Code Review、人工測試等手段更好地保證代碼質(zhì)量。 1.1 定義 顧名思義,單元測試強(qiáng)調(diào)的是對單元進(jìn)行測試。在開發(fā)中,一個(gè)單

    2024年02月13日
    瀏覽(24)
  • 【Golang入門教程】Go語言變量的初始化

    【Golang入門教程】Go語言變量的初始化

    強(qiáng)烈推薦 前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站: 人工智能 推薦一個(gè)個(gè)人工作,日常中比較常用的人工智能工具,無需魔法,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站: 人工智能工具 引言 在Go語言中,變量

    2024年04月17日
    瀏覽(106)
  • 【Terraform學(xué)習(xí)】保護(hù)敏感變量(Terraform配置語言學(xué)習(xí))

    【Terraform學(xué)習(xí)】保護(hù)敏感變量(Terraform配置語言學(xué)習(xí))

    創(chuàng)建 EC2 IAM 角色 導(dǎo)航到 IAM 在 左側(cè)菜單 中,單擊 角色 ?。單擊 創(chuàng)建角色 該按鈕以 創(chuàng)建新的 IAM 角色 。 在創(chuàng)建角色部分,為角色選擇 可信實(shí)體類型 : AWS 服務(wù) 使用案例:EC2 ? ? 單擊 下一步 添加權(quán)限:現(xiàn)在,您可以看到 策略列表 。按名稱 AdministratorAccess 搜索權(quán)限并添加。

    2024年02月13日
    瀏覽(27)
  • Go語言學(xué)習(xí)筆記

    注:安裝教程 注:上一篇筆記 注:下一篇筆記 2.6、流程控制 2.6.1、條件語句 2.6.2、選擇語句 2.6.3、循環(huán)語句 2.6.4、跳轉(zhuǎn)語句 goto語句跳轉(zhuǎn)到本函數(shù)內(nèi)的某個(gè)標(biāo)簽 2.7、函數(shù) 2.7.1、函數(shù)定義 函數(shù)構(gòu)成代碼執(zhí)行的邏輯結(jié)構(gòu)。函數(shù)的基本組成為:func、函數(shù)名、參數(shù)列表、返回值

    2024年02月06日
    瀏覽(24)
  • go語言學(xué)習(xí)——9

    go語言學(xué)習(xí)——9

    前言:統(tǒng)計(jì)1~90000000數(shù)字中,哪些是素?cái)?shù)? 使用循環(huán),很慢 使用并發(fā)或者并行的方式,將任務(wù)分配給多個(gè)goroutine去完成,就會(huì)使用到goroutine 進(jìn)程和線程 進(jìn)程 是程序在操作系統(tǒng)中的一次執(zhí)行過程,是 系統(tǒng)進(jìn)行資源分配和調(diào)度 的基本單位 線程 是進(jìn)程的一個(gè)執(zhí)行實(shí)例,是 程序

    2024年02月08日
    瀏覽(19)
  • go語言學(xué)習(xí)計(jì)劃。

    第1周:Go語言概述與環(huán)境搭建 內(nèi)容 :了解Go語言的歷史、特點(diǎn)和應(yīng)用場景。安裝Go環(huán)境,配置工作區(qū)。 實(shí)踐 :編寫第一個(gè)Go程序,了解Go的編譯運(yùn)行流程。 第2周:基本語法與數(shù)據(jù)類型 內(nèi)容 :學(xué)習(xí)基本數(shù)據(jù)類型(整型、浮點(diǎn)型、布爾型、字符串)和基本語法。 實(shí)踐 :編寫簡

    2024年01月23日
    瀏覽(62)
  • 【Terraform學(xué)習(xí)】Terraform配置變量(Terraform配置語言學(xué)習(xí))

    【Terraform學(xué)習(xí)】Terraform配置變量(Terraform配置語言學(xué)習(xí))

    創(chuàng)建 EC2 IAM 角色 導(dǎo)航到 IAM 在 左側(cè)菜單 中,單擊 角色 ?。單擊 創(chuàng)建角色 該按鈕以 創(chuàng)建新的 IAM 角色 。 在創(chuàng)建角色部分,為角色選擇 可信實(shí)體類型 : AWS 服務(wù) 使用案例:EC2 ? ? 單擊 下一步 添加權(quán)限:現(xiàn)在,您可以看到 策略列表 。按名稱 AdministratorAccess 搜索權(quán)限并添加。

    2024年02月15日
    瀏覽(45)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包