type stu struct
// 僅屬於結構體stu的方法
func (s *stu)setname(name string)
func (s *stu)setage(age int) int
func main()
}
// 修改的是複製的n,而非原本的n
func (n myint)plusnoptr()
func (n *myint)plusptr()
func (n *myint)show()
func main()
/* plusnoptr: 0xc04200e0d8 // 位址與其他三個不一樣
plusnoptr後: 0xc04200e0d0, 1
plusptr: 0xc04200e0d0
plusptr後: 0xc04200e0d0, 2
*/// 不帶*的話使用的是值,對其進行修改不會影響到原值,因為值傳遞需要複製整個值,所以應該使用指標。
func main()
type mymath struct
func main()
mm.show() //直接呼叫的是 myint的方法
}
type myinte***ce inte***ce
type myint int
func (n myint)infunc()
func (n myint)test()string
func (n myint)test02()
type mystruct struct
func (m mystruct)infunc()
func (m mystruct)test()string
func display(mi myinte***ce)
func main()
/*myint infunc
myint string
mystruct infunc
mystruct string
*/
type hand inte***ce
type human inte***ce
type myint int
func (n myint)grab()
func (n myint)eat()
func main()
m := make(map[inte***ce{}]inte***ce{})
m[1] = "a"
m["2"] =1
stu := student
m[stu] = stu
fmt.println(m) // map[: 1:a 2:1]
type student struct
func main()
a = "2"
a =1
fmt.println(a)
b :=10
a = b // inte***ce可以承載任意型別
a =20
// b = a // cannot use a (type inte***ce {}) as type int in assignment: need type assertion
b,ok := a.(int) // 使用型別斷言
fmt.println(b, ok) // 20 true
}
04 自己的golang學習及速查筆記 函式
可以有多個返回值 所有引數都是值傳遞 slice map channel 函式可以作為變數的值 函式式程式設計 js 函式可以作為引數和返回值 小例子 把乙個無引數,無返回值的函式進行包裝,包裝成計時函式,可以列印消耗的時間 import fmt time func sleepsecond 包裝器 ...
Golang學習筆記
如果乙個method的receiver是 t,你可以在乙個t型別的例項變數v上面呼叫這個method,而不需要 v去呼叫這個method 即不需要 v method 如果乙個method的receiver是t,你可以在乙個 t型別的變數p上呼叫這個method,而不需要 p去呼叫這個method。i...
golang學習筆記
與c語法不同之處 1.引數列表中各個引數型別相同時可以只寫出最後乙個,如 add x,y int int 2.型別在引數名 變數 函式 後面 3.函式的左大括號要跟函式名同一行,否則編譯不過 4.函式定義要先寫關鍵字func在函式開頭 函式外的每個語句都要以func var等等關鍵字開頭 5.在包或...