说明一下 time.Tick 和 time.Time.After(nil)区别
/**
* @link 原地址 http://go-tour-zh.appspot.com/concurrency/6
**/
package main
import ( "fmt" "time" )
func main() {
tick := time.Tick(100 * time.Millisecond)
boom := time.After(500 * time.Millisecond)
for {
select {
case <-tick: fmt.Println("tick.")
case <-boom: fmt.Println("BOOM!")
return default: fmt.Println(" .")
time.Sleep(50 * time.Millisecond)
}
}
}
简单的做一个测试
1.目录结构文件
src:
|---classone
myclassoneper.go
|---man
main.go
main.go 代码
package main
import ( "classone" "fmt" )
func main() {
//创建一个MyClassonePer数据结构
myper := classone.MyClassonePer{"11",11}
//调用其中的方法
fmt.Printf("%s\r\n",myper.SetAge()) //输出 func (myper per) setAge (age int) per
//直接调用classone包的的SetAge 方法
fmt.Printf("%s\r\n",classone.SetAge()) //输出 setAge(age int) string
}
myclassoneper.go代码
package classone
/**
* 如果要让自己定义的数据结构其中的字段为public 首字母大写
**/
type MyClassonePer struct {
Name string
Age int
}
/**
* 定义的方法如果为pubilc 首字母大写
**/
func (P *MyClassonePer) SetAge() string{
return "func (myper per) setAge (age int) per"
}
func SetAge() string {
return "setAge(age int) string"
}
总结
func (P *MyClassonePer) SetAge() string{
return "func (myper per) setAge (age int) per"
}
1.给数据结构添加一个方法 该方法只有在数据结构被实例化以后调用才能生效
func SetAge() string {
return "setAge(age int) string"
}
2. 给这个包添加一个方法