goalng struct剖析(嵌套结构体/匿名结构体/tag)

标签: golang 学习笔记  golang

#按原始字段顺序创建结构体
 p := T{1, 2}

#照自定义字段顺序进行初始化
 p := T{Y:1, X:2}

#通过new函数创建
p1 := new(T)
T.X = 1
T.Y = 2

type ST struct{ X, Y float64 }

type FT struct {
    ST 
    Value int
}
package main

// 匿名结构提嵌套,可以引入匿名结构体所有的方法
import (
    "fmt"
    "sync"
)

type safeMap struct {
    sync.Mutex
    mapping map[string]string
}

// 获取map中元素的值
func (m safeMap) Get(key string) (value string) {
  	// 引入了sync.Mutex的加锁和解锁方法
    m.Lock()
    value = m.mapping[key]
    m.Unlock()
    return
}

func main() {
    m := map[string]string{
        "a" : "alpha",
        "i" : "integer",
    }

    cache := safeMap{
        mapping: m,
    }

    fmt.Println(cache.Get("a"))
    fmt.Println(cache.Get("i"))
}
type Server struct{

    ServerName string `key1:"value1" key2:"value2"`

    ServerIp   string `key2:"value3`
}
// A StructField describes a single field in a struct.
type StructField struct {

    // Name is the field name.
    Name string

    ...

    Type Type // field type

    Tag StructTag // field tag string
    
    ...
}

type StructTag string

智能推荐

                ===================================================== 最简单的基于DirectShow的示例文章列表: 最简单的基于DirectShow的示例:视频播放器 最简单的...

闲来没事,想做一个仿QQ登陆注册的winform,于是利用工作之余,根据自己的掌握和查阅的资料,历时4天修改完成,新手水平,希望和大家共同学习进步,有不同见解希望提出! 废话不多说,进入正题: 先来看看我绘制的界面: 运用的CSkin控件完成的绘制,cskin和vs自带的控件其实差别不大,只是cskin美化更好一点,此外,cskin的验证码控件(skincode)很不错 再来看看代码: 这里说一下...

前言 随着vue在前端不断的壮大起来,越来越多的前端工程师使用vue了,作为大型项目的开发,vue-cli是不二之选,所以这篇博客是为搭建vue-cli所写,想要搭建vue-cli项目就必须先有git,node.js,webpack, git地址:https://git-scm.com/ node.js地址:http://nodejs.cn/ 本章目标 使用websotm搭建vue-cli项目,前...

1.什么是js JavaScript 脚本语言,解释型语言。 2.使用JavaScript 前端: 行内JavaScript(不推荐) script标签 外部脚本 后端:脚本 示例代码(learn_1.html): 示例代码(learn_1.js): 3 script标签的属性 ps:默认type都是text/javascript 浏览器加载网页顺序及其速度优化请参考:浏览器加载网页的顺序及其速度...

一.前言 文章主要以宏观的形式来聊一个全栈开发项目,非常适合初级阶段学习前端的小白,适当的全栈开发是前端学习在初级阶段所必须要有的技能。大多数人都知道的是,一个全栈开发项目是大多是由:电商系统+社交系统+博客系统 构成。但我们不知道的是其中的种种原理和方法。而我今天要讲解的项目就是以博客的形式为例子,帮助大家解开疑惑。 说在前面 还未安装vue?这里有vue的安装教程,很详细噢!当然如果你vue基...

猜你喜欢

找到a[i]*a[j]=x^k符合这个式子的有多少种组合。 分解质因子来做就行了 AC代码:  ...

上篇博文讲了EV10AQ190A这种ADC芯片的工作模式:双通道模式 我十分重视这些内容,因为这是我认识硬件工作模式的起点,当然这也只是理论上的内容,实际采样过程中也许会遇到这样那样的问题,那就需要自己慢慢探索了,理想与工程还是会有一定的差距的! 这篇博文主要讲四通道模式: 这种模式的框架或者组态(configuration)(我真的不知道这个单词如何用中文准确的翻译处理,我总感觉应该是原理框图)...

文章目录 1.属性查找顺序 1.1.对象属性查找 1.2类查找 2.使用方法 2.1对象使用 2.2类使用方法 3修改类的属性 3.1类增查改删 3.2在方法内修改类的属性 3.4练习1 3.5练习2 4.绑定方法 4.1绑定给对象 4.2绑定给类 4.3练习 5.类与类型的概念/一切皆对象 6.非绑定方法(静态方法) 6.1不带参数 6.2带参数 7.隐藏属性 7.1目的 7.2变形 7.3在类...

1. 全部活动隐藏 2. 单个活动隐藏...