zoukankan      html  css  js  c++  java
  • golang零碎(一)

    今天看了下labrpc模块,学习了相关的golang语法。总结下

    map

    interface{},空的可以表示任何类型,类似java的object

    struct

    new 初始化零值

    make map slice channel

    func MakeNetwork() *Network {
    	rn := &Network{}
    	rn.reliable = true
    	rn.ends = map[interface{}]*ClientEnd{}
    	rn.enabled = map[interface{}]bool{}
    	rn.servers = map[interface{}]*Server{}
    	rn.connections = map[interface{}](interface{}){}
    	return rn
    }
    上面的函数指定了很多初始化方法
    func (rn *Network) ReadEndnameInfo(endname interface{}) (bool, interface{}, *Server, bool) {
    	rn.mu.Lock()
    	defer rn.mu.Unlock()
    
    	enabled := rn.enabled[endname]
    	servername := rn.connections[endname]
    	var server *Server
    	if servername != nil {
    		server = rn.servers[servername]
    	}
    	reliable := rn.reliable
    	return enabled, servername, server, reliable
    }
    

     interface{}表示任何类型

    func (rn *Network) IsServerDead(endname interface{}, servername interface{}, server *Server) bool {
    	rn.mu.Lock()
    	defer rn.mu.Unlock()
    
    	if rn.enabled[endname] == false || rn.servers[servername] != server {
    		return true
    	}
    	return false
    }
    定义struct的方法
  • 相关阅读:
    怎么删除json 键值对
    解决html 图片缓存问题
    美工常用的网站分享
    小程序授权页面
    BitMap原理
    css页面加载动画
    可能这些是你想要的H5软键盘兼容方案
    关于范式 :1NF 2NF 3NF等
    Python3学习DAY4
    DTD相关
  • 原文地址:https://www.cnblogs.com/cane/p/5602118.html
Copyright © 2011-2022 走看看