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
generator = func(company string, department string, sn uint32) string{
// return "Gophers-RD-1"
return appendSn(company + "-" + department+ "-" , sn)
}
// return "Gophers-RD-1"
return appendSn(company + "-" + department+ "-" , sn)
}
2018-03-11