func myfunc(company string, department string, sn uint32) string{
return appendSn(company + "-" + department + "-",sn)
}
func main() {
var generator EmployeeIdGenerator
generator = myfunc
fmt.Println(generateId(generator, "RD"))
}
return appendSn(company + "-" + department + "-",sn)
}
func main() {
var generator EmployeeIdGenerator
generator = myfunc
fmt.Println(generateId(generator, "RD"))
}
2018-03-16
結果不可預測,輸入0的話,
Received! 6
Sent!
這話形式的輸出比下面這話輸出次數要多
Sent!
Received! 6
Received! 6
Sent!
這話形式的輸出比下面這話輸出次數要多
Sent!
Received! 6
2018-03-16
"這第三個正整數被稱為容量上界索引。",這句話的意思是你的上界索引必須要小于第三個上界值,否則就會報錯,也就是限制了你的上界索引最大值。如果在不大于上界值的情況下,跟之前的切片數據沒啥區別。
slice5 = [5,6],len(slice5) = 2 所以第一個應該是2.
cap(slice5) 應該是4,取上下界索引的長度值8-4=4
slice5 = [5,6],len(slice5) = 2 所以第一個應該是2.
cap(slice5) 應該是4,取上下界索引的長度值8-4=4
2018-03-16
注意,被“切下”的部分不包含元素上界索引指向的元素。這句話的上屆索引指向的元素應該指的是numbers3[1:4],"4"這個索引所指向的元素吧,[start:end],start應該是下界索引,end指的是上界索引。var numbers3 = [5]int{1, 2, 3, 4, 5}
var slice1 = numbers3[1:4]這個結果也就是從2開始截取到5,但是又不包含5,所以結果是[2,3,4]
var slice1 = numbers3[1:4]這個結果也就是從2開始截取到5,但是又不包含5,所以結果是[2,3,4]
2018-03-16
func read( r io.Reader)([]byte, error){
return []byte{}, errors.New("my fault")
}
return []byte{}, errors.New("my fault")
}
2018-03-12
我來個簡化版:
type Cat struct{
name string
age int
addr string
}
func (c *Cat) Grow(){
}
func (c *Cat ) Move( string ) string{
return ""
}
只需要實現接口所定義的那些函數即可。
type Cat struct{
name string
age int
addr string
}
func (c *Cat) Grow(){
}
func (c *Cat ) Move( string ) string{
return ""
}
只需要實現接口所定義的那些函數即可。
2018-03-11
最新回答 / 慕粉1614279224
代碼不啰嗦;1)每種語言都可以模仿其他語言的思想進行編寫;2)如此定義不是go的特色,其他語言也有類似的定義方式;以上個人意見,相互探討相互學習。
2018-03-11