for-loop
允許指定迭代次數形式1陣列、切片、對映、字串
for i := 0; i < 10; i++注意
i是乙個本地臨時變數,迴圈結束就會"消失"形式2break 退出迴圈
continue 跳出當次迴圈,進行下一次迴圈判斷
// while形式3for condition
// forever-loop
for
// do-while
for ok := true; ok; ok = someexpression
不需要知道長度返回值中有索引
for k, v := range collectionslice
切片的底層是陣列, 不需要指定長度宣告切片作為函式引數傳遞是傳遞引用(雖然函式是值傳遞,copy切片的位址)
切片的零值是nil
s := int
s := make(int, 20)
注意:自動初始化為型別的零值make
注意:自動初始化為型別的零值
s := make(int, 20)
subslice
獲取同乙個切片或者陣列的sub時,共享同樣的底層陣列返回的切片指向底層陣列
s[1:3]len and cap
len獲取元素個數、cap獲取切片容量
len(s)位元組切片cap(s)
bs := make(byte, 1024)
a := intcopyb := int
copy(a, b)
log.println(a)
log.println(b)
a := int
b := int
copy(a, b)
log.println(a)
log.println(b)
sort
sort.slice(s, func(i, j int) bool )
map
nil map 無法操作
var m map[string]stringconstlog.println(m)
m["key"] = "value" // panic: assignment to entry in nil map
常量值無法改變、數字、字串、布林通常是全域性變數,不使用也不會報錯
常量定義無須宣告型別,編譯器自動判斷
常量最好定義到乙個包中
const version = "1.15.5"iota
每定義乙個常量,iota+1遇到定義乙個const,iota重置0
iota是int型別可以參與運算
const (pointerzaro = iota
onetwo
three
)const (
b = 1 << (iota * 10)
kbmbgb)
const (
a = iota
_ // 跳過宣告c_
e)
指標即是位址time and date&獲取非指標變數的位址
*獲取指標的值,也稱為指標的解引用
指標可以作為引數也可以作為返回值
基本操作
t := time.now()log.println(t.weekday(), t.year(), t.month(), t.day())
log.println(t.unix()) // unix時間是1970
程式基本概念
1.高階語言經 編譯器 編譯成 組合語言 或 機器指令 2.編譯器 負責將高階語言的語句翻譯成彙編或機器指令,該過程稱為 編譯 compiler 3.組合語言 將機器語言中一組一組的數字用 助記符 mnemonic 表示。彙編器 assembler 通過查表將助記符替換為數字 4.組合語言和機器語言...
樹的基本程式
author sky date 2011.11.8 content 樹的基本程式 include using namespace std define treenodemaxnum 20 typedef char elementtype typedef struct node 樹中的節點 treen...
canvas基本時針程式
canvas時鐘程式終於寫完了,在計算那些角度換算時,說明學好數學真的很重要,沒有良好的邏輯思路理解的有點蛋疼!想當年我數學是那麼溜,現在卻 花了半天吧canvas基本時鐘程式都理解了,並且自己加了乙個小美觀的分鐘點函式。js 如下 created by administrator on 2015 ...