Tag: Golang

0

Golang 快速學習自我挑戰 Day14

Section14: Methods: OOP with Go Methods:Enhance types with additional behavior Methods Value Receivers Pointer Receivers Non-Struct Methods Interface Type Assertion Type Switch Empty Interface

0

Golang 快速學習自我挑戰 Day13

第十三章:Functions, Pointers 和 Addressability 學習 Function 的基礎 Function 用 func 這個 keyword,init 和 main 是特殊名字,不用在 Function 的名字使用它們。 一個 Function 可以有零到多個輸入參數,func sum(a int, b int) {} 和 func sum(a

0

Golang 快速學習自我挑戰 Day12

第十二章:Structs:Encode 和 Decode JSON 什麼是 Struct? Struct 就像 blueprint。 Struct 就像 OOP 語言裡面的 class。 Struct 可以將相關的資料組裝成一個單一型別。 Struct 在 compile-time 是固定的,所以在 runtime 的時候不能新增 field。 Struct 可儲存不同型別的資料。 Stru

0

Golang 快速學習自我挑戰 Day11

第五章:Slices 和 Internal 完整的 Slice 表達式:限制 Slice 的 capacity newSlice := sliceable[START:STOP:CAP],CAP 可以限制回傳的 Slice capacity。 stop position <= capacity position,停止的位置必定小於等於 capacity 的位置。 123456789sl

0

Golang 快速學習自我挑戰 Day10

第五章:Slices 和 Internal 什麼是 Slice header? 如果一個 Slice 沒有儲存任何 elements,那它裡面包含什麼?Slice 裡面包含記憶體位置用來指向 backing Array。 Slice header 裡面包含三個內容,Pointer(記憶體位置)、Length(長度) 和 Capacity(空間大小,儲存記憶體實際佔用的大小,你可以使用 cap

0

Golang 快速學習自我挑戰 Day9

第五章:Slices 和 Internal 章節介紹 Slice 是動態的 Array。 這個章節會學習到的內容。 Array 和 Slice 的差異。 使用 append() 來增加 Slice。 Slicing - Slice 表達式 [low:high]。 Internals。 Backing Array。 Slice Header。 Capacity of Slice - cap

0

Golang 快速學習自我挑戰 Day8

第三章 如何使用 Multi-dimensional Array? 新增一個 Multi-dimensional Array,會是這樣的形式,最外層的 [2] 宣告裡面有 2 個 Array,而 [3]int 是裡面 Array 的長度和型別。 1234[2][3]int{ [3]int{5, 6, 1}, [3]int{9, 8, 4}

0

Golang 快速學習自我挑戰 Day7

第三章 複合型別(Composite Type) 複合型別的類型 Arrays:有 index、固定長度。 Slices:有 index、動態長度。 Sting Internals:ByteSlices, ASCII & Unicode, Encoding & Decoding。 Maps:有 index,key-value pair。 Structs:一組不同型別的變數。

0

Golang 快速學習自我挑戰 Day6

章節二 Go 和 Randomization 這邊會實作一個 Lucky number 的專案,使用者會輸入數字,然後系統會隨機產生一個數字,當使用者猜到跟系統隨機產生的數字相同,使用者勝利。 這邊會用到 rand 的套件包,Go 的隨機是使用假隨機(pseudo-random),在每次執行的時候,Go 會產生一連串的已定好的數列(deterministic sequence)。 func

0

Golang 快速學習自我挑戰 Day5

章節一 在 Go 只有一種迴圈 在 Go 只有 for 迴圈,沒有 while 和 until 迴圈。 for 迴圈就是重複一段程式碼當條件是 true。 i := 1 是 init statement。i <= 5 是 condition statement,它是 bool expression,當它等於 false 的時候,迴圈結束。i++ 是 post statement。 12

0

Golang 快速學習自我挑戰 Day4

章節一 Switch Statement switch statement 和 if statement 很像,但是有不同的語法。 city 是 condition expression,它非常重要因為它控制了 case 語法的 condition。如果 city 等於 case 裡面的內容(等同於 if city == “Paris”),就會執行 case 裡面的 block。 1234s

0

Golang 快速學習自我挑戰 Day3

章節一 IF statement Go 裡面的 if statement 不需要括號,直接在 if 後面輸入你的條件就可以了。 1234567891011package mainimport "fmt"func main() { score, valid := 5, true if score > 3 && valid {

0

Golang 快速學習自我挑戰 Day2

章節一 什麼是 Raw String Literal? 會分成三步驟學習:Raw String Literal, 字串的連結(Concatenation), 字串長度(String Length)。 String Literal,"hi there, 星",使用雙引號只能有一行,而這邊會進行轉譯(interpreted),如果有新的一行,Go 會轉換成一個新行字符。 Ra

0

Golang 快速學習自我挑戰 Day1

章節一 安裝 Go 環境 安裝Go環境教學 變數介紹 你必須要先定義變數才能夠使用它,所以你不能直接給一個未定義的變數一個值,因為它不存在。 在 Dynamic Programming 裡面,你可以在還沒定義變數之前,直接給它值,這樣很好用,但是對後面的程式碼維護並不容易。 var speed int var 就是 variable 的簡稱,宣告變數一定要輸入這個 Keyword。 s