返回

Golang旅程 - 基礎篇(二)

基本的資料結構

Array

在宣告Array時必須要給定數組的長度n和元素的類型type。

Array每個型別預設存儲值

  • bool:false
  • int:0
  • string:""
  • float:0.0
var ary [n]type

slice

因為Array在長度宣告之後不能做修改,所以Go語言實現了另一種資料結構來處理可變長度的數據,slice可以視為一個可變長度的數組。

它包含三個部分:

  1. 指向數組的指針
  2. 切片中的元素個數
  3. 切片的長度
// 宣告一個slice
var slc []int

// 透過append新增一個元素
slc = append(slc, 1)

map

map是引用類型,多個變數操作同一個map物件時要小心。

var m map[key_type] value_type

// 宣告一個map,key為int,value為string
var m map [int] string

// 將m初始化
m = make(map[int] string)

// 也可以直接這樣寫
m := make(map[int] string)

struct

type identifier struct{
    field_name field_data_type
    field_name field_data_type
    field_name field_data_type
}

// example
type student struct{
    name string
    age int
}

// struct 初始化(一)
var student student
student.name = "學生"
student.age = "18"

// struct 初始化(二)
var student = student{"學生", 18}
student := student{"學生", 18}

// struct 初始化(三)
var student = new(student)
student.name = "雄生"
student.age = 18
comments powered by Disqus