Go語言快速入門筆記(2)--值類型和引用類型,silce切片,map映射

內容速覽

本文包含Go語言的簡單入門語法,值類型和引用類型,silce切片,map映射java

本文適合人羣

具備必定編程語言基礎(如:C/C++,java等),而且想要快速入門Go語言的同窗編程

值類型和引用類型


值類型:直接對值操做的類型,包括數組

1.基本數據類型(int,float等)
2.struct結構體
3.數組
複製代碼

引用類型:經過指針(引用)對內存單元操做的類型,包括app

1.silce切片
2.map映射
3.其餘容器
複製代碼

數組和切片slice


  • 聲明:
    //一維數組
    格式1var 數組名 [長度] 類型
    格式2:[var 數組名 =]/[數組名 := ] [長度]類型{值1,值2,...}
    格式3:[var 數組名 =]/[數組名 := ] [...]/[]類型{值1,值2,...}
    //多維數組
    格式4var 數組名 = [長度][長度]...類型{{值1,值2,...},{值1,值2,...},...}
    格式5var 數組名 = [][]...類型{{值1,值2,...},{值1,值2,...},...}
    複製代碼
    • 注意:缺省的數組即爲切片
  • 索引:
    • 下標索引:數組名[下標]
      • 注意:超過長度的部分不可索引,儘管容量有餘
    • 切片索引:數組名[start:end],取出[start,end)的元素
  • len()方法和cap()方法
    • len():計算長度,即當前容器使用單元數
    • cap():計算容量,即當前容器最大單元數
  • make()方法:聲明切片
    • make([]類型, len, cap):參數分別爲切片類型,長度,容量(缺省時默認等於長度)
  • append()方法:複製一份切片並添加元素,超出容量自動擴容(容量=長度*2
    • append([]類型, elem1, elem2, ... )
    • append([]類型, 切片)
  • 注意:
    • 數組的複製操做是深拷貝,要轉淺拷貝請在複製時在數組名前使用&取地址
    • 數組的比較操做是比較其內容是否一致而不是地址是否一致
    • 數組是一個值類型,就是數據內容自己
    • 切片是一個引用類型,本質是一個數組的引用

映射map


  • 聲明:編程語言

    var 映射名 map[keytype]valuetype
    var 映射名 = map[keytype]valuetype{k:v, ... }
    映射名 := map[keytype]valuetype{k:v, ... }
    make(map[keytype]datatype)
    複製代碼
  • 增刪改查函數

    1、增:
    	map[key] = value
    2、刪
    	delete(map, key)
    3、改
    	map[key] = value
    4、查
    	val = map[key]
    	val, ok = map[key]	//ok(boolean)檢測取值是否真實存在
    複製代碼

Go語言快速入門筆記系列傳送門


Go語言快速入門筆記(1)--變量var,分支if else,循環for,fmt簡單輸入輸出post

Go語言快速入門筆記(2)--值類型和引用類型,silce切片,map映射ui

Go語言快速入門筆記(3)--函數,指針,srtuct結構體,interface接口,Error錯誤,panic恐慌和recover恢復spa

相關文章
相關標籤/搜索