Go中的資料類型

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。bool
byte
rune
int/uint
int8/uint8


int16/uint16
int32/uint32
int64/int64
Pointer


chan  通道
func  函數
interface 介面
map  字典
struct 結構
nil 空值
type 用於自己定義資料類型




const 常量或者常量運算式


type MyString [3]string
MyString 是一個元素個數為3的數群組類型




聲明一個為Person的自訂結構體


type Person struct{




   Name string
   Age  uint8
   Address string
}
定義一個結構體


Person{Name:"ysd",Age:21,Address:"sichuan.china"}














Arrary 數組
  類型標記法,不是參考型別
     [n]T
[2*3*4]byte
     [3]string{"ysd","sichuan","guangyuan"}  // 長度為3.
 
一個數組即是一個值.所以在傳遞陣列變數時,傳遞的是整個數組
如果是一個指標,則我們就需要取地址符號 
 
 
       
 
Slice 切片


len([string{10:"ysd"}])
 該值得運算式是11, len可以求數組的長度
 cap可以求出容量,
 建立方式
  slice1 := make([]string, 長度,容量)
  slice := array[起始:結束] ,將數組array的前四個元素,作為新的切片類型
  注意,包含起始,不包含結束,不能超過當前的長度
  
 向切片中追加新的值
  slice1 = append(slice1,"c++","php");
  append的實現和c++的vector容器一致
  copy可以拷貝一個切片
  
    n1 := copy(sliceA,sliceB)
  n1代表的是複製了的元素的數量
  

Map 字典
  類型表示,該類型是參考型別 
     map[K]T


  需要注意的是它的鍵類型不能是函數類型,字典類型,和切片類型
  
  map[string]bool類型的表示方法
    map[string]bool{"vim":true,"ysd":false}
  空類型的表示方法
    map[string]bool{}

 
     
 


複合類型的字面值由 {}括起來的符合元素的列表組成


接收操作符
  注意事項
    從一個通道類型的空值接受值的運算式將永遠阻塞
    從一個已經關閉的通道類型值接收值會永遠成功,並立即返回一個其元素的零值.


example

editor := map[string]bool{}
   
    刪除:
    delete(editor,"gedit")


= 和:= 的區別
  =用於將一個值賦值給一個已經被聲明的常量或者是變數
 := 用於在聲明一個變數的同時並且對該變數進行賦值
     




go語言注意事項,在GO語言中沒有值傳遞和引用傳遞,有的是實值型別和參考型別




go語言中的類型標記法
 name string
 func search(name string,age int)(result int)
 
 result 在該函數被調用的時候會賦值給0值
 
 func Model(x,y int)(result int){
   result = x%y
   return 
 }
 
 
 
 
 
 
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.