golang对象
对象和组合
package main
import (
"fmt" ) type father struct {
name string
sex int
}
type sun struct {
father
age int
}
func main() {
m:=father{name:"father",sex:11}
s:=sun{father:father{name:"son",sex:12},age:14}
fmt.Println(s)
fmt.Println("name",s.name)
fmt.Println("name",m.name)
fmt.Println("sex",s.sex)
fmt.Println("sex",m.sex)
fmt.Println("age",s.age)
}
接口实例:
package main import "fmt" //接口,只是一个提示,不在接口定义中实现
type Handler interface {
Do(k, v interface{})
} //使用接口
func Each(m map[string]int, h Handler) {
if m != nil && len(m) > 0 {
for k, v := range m {
h.Do(k, v)
}
}
}
type welcome string //接口实现处
func (w welcome) Do(k, v interface{}) {
fmt.Printf("%s,我叫%s,今年%d岁\n", w,k, v)
} func main(){
persons := make(map[string]int)
persons["张三"] = 20
persons["李四"] = 23
persons["王五"] = 26 var w welcome = "大家好" Each(persons, w)
}
golang对象的更多相关文章
- 嵌套Golang对象的初始化
比如有这样一个对象: type ProductConfig struct { Site map[string]string } 对应的初始化可以如下写: var pc ProductCon ...
- 【GoLang】golang 如何像Java 一样通过类名反射对象?
结论: golang不支持解析string然后执行. golang的反射机制只能存在于已经存在的对象上面. 不知道后续的版本有没有规划,现在只能先加载注册,然后实现类似Java工厂模式的反射. 代码示 ...
- Golang——垃圾回收GC(2)
1 垃圾回收中的重要概念 1.1 定义 In computer science, garbage collection (GC) is a form of automatic memory manag ...
- 从golang的垃圾回收说起(下篇)
文章来自网易云社区 4 Golang垃圾回收的相关参数 4.1 触发GC gc触发的时机:2分钟或者内存占用达到一个阈值(当前堆内存占用是上次gc后对内存占用的两倍,当GOGC=100时) # 表示 ...
- golang和python互相调用
http://blog.yuanzhaoyi.cn/2018/06/27/golang_python.html python3-ctypes: https://docs.python.org/3.5/ ...
- Golang 临时对象池 sync.Pool
Go 1.3 的sync包中加入一个新特性:Pool.官方文档可以看这里http://golang.org/pkg/sync/#Pool 这个类设计的目的是用来保存和复用临时对象,以减少内存分配,降低 ...
- Golang - 面对"对象"
目录 Golang - 面对"对象" 1. 简介 2. 匿名字段 3. 方法 4. 包和封装 5. 接口 4. 包和封装 5. 接口 Golang - 面对"对象&quo ...
- golang在多个go routine中进行map或者slice操作应该注意的对象。
因为golang的map和列表切片都是引用类型,且非线程安全的,所以在多个go routine中进行读写操作的时候,会产生“map read and map write“的panic错误. 某一些类型 ...
- Golang 调用 aws-sdk 操作 S3对象存储
Golang 调用 aws-sdk 操作 S3对象存储 前言 因为业务问题,要写一个S3对象存储管理代码,由于一直写Go,所以这次采用了Go,Go嘛,快,自带多线程,这种好处就不用多说了吧. 基础的功 ...
随机推荐
- swan.after
解释: swan.after可以拦截所有当前运行小程序对于API的调用,默认传入function时,只在API函数调用的返回阶段拦截.如果传入Object,则可以选择拦截的阶段(例如: 返回阶段.回调 ...
- docker运行spring boot 包镜像出现no main manifest attribute问题
问题: 在进行docker部署的时候,开始对项目进行打包,在启动该镜像时 [root@topcheer docker]# docker run -it 00494e3d4550no main mani ...
- POJ - 3481 splay板子
Double Queue 默写splay板子 很多细节问题... #include<cstdio> #include<iostream> using namespace std ...
- 小程序的开发框架MINA及小程序的启动机制
MINA框架分三个部分 视图层(View):有很多页面,每个页面有wxml和wxss组成的,视图结构和展现样式 逻辑层(App Service):处理事物逻辑的地方以及数据交互的服务中心 系统层(Na ...
- django中的url控制
1.django中的第一个控件:url控制 (路由分发) urls.py:请求路径与视图函数的之间的关系 步骤: 1.首先是要配置环境, 2.其次就是引路径 3.在视图的文件夹里面写相应的函 ...
- 测开之路七十六:性能测试蓝图之html
<!-- 继承base模板 -->{% extends 'base.html' %} {% block script %} <!-- 从cdn引入ace edter的js --> ...
- Dos.Common - 目录、介绍
引言: Dos.Common是一个开发中的常用类库,如HttpHelper.LogHelper.CacheHelper.CookieHelper.MapperHelper等等.与Dos.WeChat. ...
- Vagrant 手册之 Vagrantfile - SSH 设置 config.ssh
原文地址 配置的命名空间:config.ssh config.ssh 中的设置与配置 Vagrant 如何通过 SSH 访问您的计算机相关. 大多数 Vagrant 设置一样,一般使用默认设置即可,但 ...
- Warning: Cannot modify header information原因及解决方案
相信大多数人在写PHP代码的时候,都遇到过类似"Warning: Cannot send session cookie – headers already sent…“或者”Cannot a ...
- 用递归方法求n!
题目: 编写一个程序,输入n,求n!(用递归的方式实现). public class test { public static long fac(int n){ if(n<0){ return ...