goland 给包添加方法和给数据结构添加方法的区别

说明一下 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. 给这个包添加一个方法  

你可能感兴趣的:(goland 给包添加方法和给数据结构添加方法的区别)