zoukankan      html  css  js  c++  java
  • go中的方法以及自定义类型代码示例

    package main
    
    import "fmt"
    
    type user struct {
    	name string
    	age  int
    	sex  string
    }
    type admin struct {
    	person user
    	level  string
    }
    
    func main() {
    	u := user{name: "zhangsan",
    		age: 12,
    		sex: "女"}
    
    	u.userReciver("里默默")
    	//Go在代码背后的执行动作
    	//(&u).userReciver("里默默")
    
    
    	//也可以使用指针来调用使用值接收者声明的方法
    	u1 := &user{name: "zhangsan",
    		age: 12,
    		sex: "女"}
    	u1.userReciver1()
    	//获取的u1地址,需要通过地址获取值
    	fmt.Println(*u1)
    
    	//自定义类型也可以嵌套。
    	ad := admin{
    		person: user{
    			name: "sawanhg",
    			age:  34,
    			sex:  "男",
    		},
    		level: "niubi",
    	}
    	fmt.Println(u)
    	fmt.Println(ad)
    }
    
    //关键字func和函数名之间的参数被称作接收者,将函数与接收者的类型绑在一起。
    // 如果一个函数有接收者,这个函数就被称为方法
    func (u user) userReciver1() {
    	u.name = "里默默你好"
    
    }
    
    //user值接者,
    // 和上面不使用指针的方法比更方便改完值后面继续用。
    func (u *user) userReciver(name string) {
    	u.name = name
    }
    
    
  • 相关阅读:
    一些前端面试题
    CSS高度塌陷问题解决方案
    闭包
    作用域
    JS的预编译过程
    小技巧集合
    序选择器
    HTML初始结构
    剖析Vue原理&实现双向绑定MVVM
    Safari 3D transform变换z-index层级渲染异常
  • 原文地址:https://www.cnblogs.com/c-x-a/p/11756963.html
Copyright © 2011-2022 走看看