zoukankan      html  css  js  c++  java
  • go 方法

    go 方法

    Golang中的任何自定义类型,都可以有方法,而不仅仅是struct。

    定义:func (recevier type) methodName(参数列表)(返回值列表){}

    • 方法的访问控制,通过大小写控制
    • 如果一个struct嵌套了另一个匿名结构体,那么这个结构可以直接访问匿名结构体的方法,从而实现了继承。
    • 如果一个struct嵌套了另一个有名结构体,那么这个模式就叫组合。
    • 如果一个struct嵌套了多个匿名结构体,那么这个结构可以直接访问多个匿名结构体的方法,从而实现了多重继承。

    样例:

    package main
    
    import (
    	"fmt"
    )
    
    type Int int
    
    func (i *Int)Add(a, b int)  {
    	*i =  Int(a + b)
    	return 
    }
    
    func testInt() {
    	var a Int
    	a.Add(100, 200)
    	fmt.Println(a)
    }
    
    func main() {
    	testInt()
    }
    

     结构体样例

    package main
    
    import (
    	"fmt"
    )
    
    type Student struct {
    	Name string
    	Age int
    }
    
    func (s *Student) Set(name string, age int) {
    	s.Name = name
    	s.Age = age
    }
    
    func testStudent() {
    	var s Student
    	s.Set("abc", 100)
    	fmt.Println(s)
    }
    
    func main() {
    	testStudent()
    }
    
  • 相关阅读:
    LeetCode 15 3Sum
    R语言函数化学习笔记6
    R语言函数化学习笔记4
    R语言函数化学习笔记3
    R语言函数化编程笔记2
    R语言读写数据
    R语言函数化编程笔记1
    服务&软件&基础设施的区别
    网易云热评1很扎心
    滞后项
  • 原文地址:https://www.cnblogs.com/shhnwangjian/p/8280798.html
Copyright © 2011-2022 走看看