`
DarkWingBoy
  • 浏览: 50282 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

golang匿名结构体

 
阅读更多
http://www.dotcoo.com/golang-anonymous-struct
golang匿名结构体
package main
     
import (
    "fmt"
)
     
func main() {
    var user struct{Name string; Gender int}
    user.Name = "dotcoo"
    user.Gender = 1
    fmt.Printf("%#v\n", user)
}
package main

import (
"fmt"
)

func main() {
var user1 struct{Username, Password string}
user1.Username = "dotcoo"
user1.Password = "dotcoopwd"
fmt.Printf("%v\n", user1)

// var user2 struct{Username, Password string} = struct{Username, Password string}{Username:"dotcoo", Password:"dotcoopwd"}
// var user2 = struct{Username, password string}{"dotcoo", "dotcoopwd"}
user2 := struct{Username, password string}{"dotcoo", "dotcoopwd"}
fmt.Printf("%v\n", user2)

// var user3 *struct{Username, Password string}
// user3 = new(struct{Username, Password string})
// var user3 *struct{Username, Password string} = new(struct{Username, Password string})
// var user3 = new(struct{Username, Password string})
user3 := new(struct{Username, Password string})
user3.Username = "dotcoo"
user3.Password = "dotcoopwd"
fmt.Printf("%v\n", user3)

user4 := &struct{Username, Password string}{"dotcoo", "dotcoopwd"}
fmt.Printf("%v\n", user4)
}

 

分享到:
评论

相关推荐

    golang中json的omitempty使用操作.docx

    1. 对于匿名结构体,直接在嵌套结构体的字段上添加`omitempty`标签。当该字段的值为空时,不会在JSON中出现。 2. 对于非匿名结构体,可以使用结构体指针来替代结构体。这样,当指针为`nil`时,`omitempty`会忽略整个...

    Go-Golang系列教程(译)

    4. **函数与方法**:函数是执行特定任务的代码块,Go语言支持多值返回和匿名函数。方法是绑定了接收者(通常为结构体)的函数,有助于实现面向对象的概念。 5. **并发编程**:Go语言的并发模型基于goroutines和...

    golang_design_pattern.zip_GO语言设计模式_Go_ Go_ Go!_golang_golang git

    Go中的接口实现和匿名结构体嵌入可以用于装饰。 9. 外观模式:提供一个统一的接口,用来访问子系统的一组接口。在Go中,可以通过创建一个简单的接口来封装多个复杂的接口。 10. 享元模式:使用共享对象有效支持...

    golang 语言程序设计

    Go语言,也称为Golang,是由Google公司开发的一种静态类型、编译型、并发型、垃圾回收的现代编程语言,其设计目标是提高开发效率、运行速度以及网络程序的可移植性。以下是对Go语言主要特性和编程概念的详细说明: ...

    Golang中使用JSON的一些小技巧分享

    在需要忽略某些字段进行序列化或反序列化时,可以创建一个新的匿名结构体,并设置`omitempty`标志。例如,要忽略`User`结构体中的`Password`字段: ```go type User struct { Email string `json:"email"` ...

    00-Golang教程 课件+源码 -大地老师.zip

    - 函数:函数是代码的复用单元,Go语言支持多返回值和匿名函数。 2. Go语言高级特性: - Goroutine:Go语言的并发原语,类似于轻量级线程,通过`go`关键字启动。 - Channel:用于在goroutine间通信,实现数据...

    Golang示例解释了Golang的基础知识.zip

    2. **类型系统**:Go有丰富的内置类型,如整型、浮点型、字符串、布尔型等,同时支持结构体和接口类型。类型系统是静态的,确保在编译时就能发现类型错误。 3. **变量声明**:Go使用`var`关键字声明变量,可以同时...

    Golang2-new.docx

    Go 语言,又称为 Golang,是一种静态类型的编程语言,由 Google 的 Robert Griesemer、Rob Pike 和 Ken Thompson 设计。它以其简洁、高效和并发支持而受到广泛欢迎。本笔记主要涵盖了 Go 语言的基础知识,包括入门、...

    雨痕golang学习笔记第四版 加上书签版

    4. 函数:Go语言支持具名函数、匿名函数和延迟调用。Go语言的函数具有返回值和变参,可以通过命名返回值简化调用代码。错误处理也是函数重要的一部分,Go语言采用错误接口来处理异常。 5. 数据结构:Go语言提供了...

    golang-china读书笔记

    - **通过嵌入结构体来扩展类型**: 通过嵌入其他结构体的方式扩展当前结构体的功能。 - **方法值和方法表达式**: 详细解释了如何使用方法值和方法表达式。 - **接口**: 定义了一个类型的契约,即该类型应该具有的行为...

    golang 学习笔记

    ### Golang 学习笔记知识点总结 #### 一、Golang 语言特性概览 **Golang**(或称为 **Go**)是一种开源的编程语言,由 Google 的 Robert Griesemer、Rob Pike 和 Ken Thompson 设计开发。它以其简洁、高效、并发性...

    Golang-tutorials:Golang教程

    Go支持多返回值和命名返回值,还有递归函数和匿名函数,后者可以作为闭包使用。 4. 包管理:Go使用`import`语句引入其他包,包是代码模块化的手段。`go mod`是Go 1.11引入的模块系统,用于管理依赖关系。 二、面向...

    Golang基础语法和gorm以及gin总汇精简版10000字

    资源内包含了golang的基础语法例如匿名函数回调函数channel结构体接收者以及面向对象编程方面的知识,gorm基础的增删改查和部分进阶以及gin的介绍和使用方式以及有例子说明供参考。此资源为个人所撰写。

    golang设计模式.zip

    Go中的装饰器通常通过匿名函数或包装器类型来实现,对已有对象的功能进行增强。 5. **观察者模式**:观察者模式定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并...

    Golang帮助文档全站镜像

    3. **函数**:Go语言支持函数定义,包括接收器函数(用于实现方法)和匿名函数(闭包)。它还引入了函数多返回值和defer语句,使得错误处理和资源清理更为方便。 4. **并发编程**:Go语言通过goroutine和channel...

    手撕Go语言v1.1.pdf

    **11.7 匿名结构体** - 不显式定义类型名的结构体。 **11.8 命名嵌入** - **定义**:在结构体中嵌入另一个结构体,并为其命名。 - **声明和初始化**:通过包含嵌入字段的结构体进行声明和初始化。 - **属性的访问...

    学习 Go 语言(Golang)

    Go 语言,又称 Golang,是一种开源的编程语言,由 Google 开发并推出,自2007年开始设计,首次公开发布于2009年,主要开发者包括 Robert Griesemer, Rob Pike, 和 Ken Thompson 等人。Go 语言的设计理念旨在将静态...

    golang-tutorial:进入入门教程源码合集

    3. 结构体和接口:Go中的结构体用于封装数据,接口提供了一种实现多态的方式,增强了代码的可扩展性。 4. 并发原语:goroutines是轻量级线程,可以轻松创建和管理;channels是安全地在goroutines之间传递消息的通道...

Global site tag (gtag.js) - Google Analytics