`

golang的结构体

    博客分类:
  • Go
 
阅读更多
package main

import "fmt"

//golang中结构体实例是独立的,彼此不会相互影响

//自定义类型

type myInt int

//给自定义类型添加方法
func (a myInt) print(){
	fmt.Println("自定义类型的方法")
}

//结构体
type User struct {
	name string
	age int
}
//结构体方法
func (p User) printUser(){
	fmt.Printf("name=%v, age=%v", p.name, p.age)
}

// 无法修改结构体的内容, 因为结构体是值类型的
func (p User) setUser(name string, age int){
	p.name = name
	p.age = age
}

// 指针类型的接收者
func (p *User) setUser1(name string, age int){
	p.name = name
	p.age = age
}

func main() {

	p1 := User{
		name:"lft",
		age: 18,
	}

	p1.printUser()   //name=lft, age=18
	p1.setUser("work", 17)
	p1.printUser()   //name=lft, age=18

	p1.setUser1("work", 17)
	p1.printUser()  //name=work, age=17


	var b myInt
	b=20
	b.print()



}

 

package main

/*
	结构体的字段类型可以是:基本数据类型、也可以是切片、Map、以及结构体

	如果结构体类型是:指针、slice、map,零值默认是nil,需要先make分配内存空间,才能使用

*/
type person struct {
	name string
	age int
	hobby []string
	map1 map[string]string
}

func main() {
	var p person

	p.name ="lft"
	p.age=18
	p.hobby = make([]string, 3, 6)
	p.hobby[0] = "python"
	p.hobby[1]="java"

	p.map1 = make(map[string]string)

	p.map1["address"] = "bj"
	p.map1["phone"]="xxxxx"
}

 

分享到:
评论

相关推荐

    Node.js-一个Json自动转变为golang结构体的小工具

    标题中的“Node.js-一个Json自动转变为golang结构体的小工具”揭示了这是一个利用Node.js编写的实用程序,它的功能是将JSON格式的数据转换为Golang编程语言中的结构体定义。这个工具对于开发者来说非常方便,因为它...

    Go-go-tagexpr由字节跳动开源实现了Golang结构体标签表达式解释器

    字节跳动开源的`go-tagexpr`项目为开发者提供了一个强大的工具,它实现了Golang结构体标签表达式的解释器,使得在请求参数校验等场景下,能够更加灵活、高效地进行数据验证。 `go-tagexpr`的核心功能是解析并执行...

    Go-SQL2Struct一款根据sql语句自动生成golang结构体的chrome插件

    SQL2Struct是一款对golang开发者友好的chrome插件,根据在mysql中创建数据表的sql语句,自动生成golang中的struct,在golang开发者使用诸如gorm之类的框架时,可以很好的把mysql中的数据表与orm的结构体关联起来。

    Golang结构体和map

    Golang 文章目录Golang1 struct2 map3 struct补充 1 struct 在Golang中没有对象,但是有面向对象的思想,有继承,多态,封装的思想。 但是缺少了class,而取而代之的是struct(结构体) 下面的是几种结构体的初始化方法4种...

    gova:golang结构体的验证工具

    #gova 它使用结构标记提供验证功能。 ##如何使用? ...type MyType struct { FirstName string `length:"20" pattern:"[A-Z][a-z]*"` LastName string `length:"20" pattern:"[A-Z][a-z]*"` ...

    xm2struct:将 xml 转换为 golang 结构的转换器

    `xm2struct`工具正是为此目的设计的,它是一个将XML转换为Golang结构体的转换器。 `xm2struct`的工作原理是解析XML文档,分析其元素和属性,然后生成相应的Golang结构体定义。这对于处理XML数据的Go程序员来说非常...

    Golang实现字符串倒序的几种解决方案

    本文主要给大家介绍了关于Golang实现字符串倒序的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 字符串倒置如下: Hello World –> dlroW olleH 解决方案1: length := len(str) ...

    golang结构体与json格式串实例代码

    本文将详细介绍Go语言(Golang)中结构体(struct)与JSON格式串之间的转换实例代码。Go语言是一种编译型、静态类型语言,由Google开发,它具备简洁、快速、安全等特性,非常适合用于系统编程。Go语言中的结构体是一...

    Go-formam-将表单的值解码成一个结构体

    在这个例子中,`User`结构体的字段名与表单的键相匹配,`formam.Decode`方法自动完成了从表单数据到结构体的映射。 `monoculum-formam-c6968d8`可能是`formam`库的一个特定版本或者分支,它可能包含了特定的功能...

    sql2struct:一个开发者友好的使用sql生成golang结构体的工具

    SQL2Struct是一款对golang开发者友好的chrome插件,根据在mysql中创建数据表的sql语句,自动生成golang中的struct,在golang开发者使用诸如gorm之类的框架时,可以很好的把mysql中的数据表与orm的结构体关联起来。...

    golang 数据库 表 结构体自动生成工具.zip

    在获取到数据库表信息后,生成工具会解析这些信息并构建对应的Golang结构体。结构体的每个字段对应数据库表的列,字段类型应与数据库中的数据类型相匹配。例如,对于一个名为`users`的表,如果它有`id`(整型)、`...

    快速将mysql指定数据库或表生成golang struct和表的常用方法集代码的工具.zip

    【标题】"快速将mysql指定数据库或表生成golang struct和表的常用方法集代码的工具.zip" 提供了一个方便的解决方案,它允许开发者通过Go语言来自动化地将MySQL数据库中的表结构转换为Golang的structs,并生成与之...

    structvalidator:使用 golang 标签验证“必填”字段和“模式匹配”的简单方法

    结构验证器 使用 golang 标签验证“必填”字段和“模式匹配”的简单方法

    将TOML转换为Go结构体TOML-To-Go.zip

    通过 toml-to-go 提供的 Web UI,可以方便的将 TOML 转换成 Golang 结构体。在左侧粘贴 TOML 文件内容即可得到对应的 Struct,接下来可以将得到的结构体使用到你的 Golang 项目中。界面截图 标签:TOMLToGo

    golang中struct和[]byte的相互转换示例

    在Golang编程语言中,有时我们需要将结构体(`struct`)与字节切片(`[]byte`)之间进行转换,这在处理网络数据传输、序列化或反序列化等场景中非常常见。本文将详细介绍如何在Golang中实现`struct`到`[]byte`以及`...

    开源项目-wicast-xj2s.zip

    开源项目“wicast-xj2s”是一个基于Golang编写的实用工具,其主要功能是从XML或JSON文件自动生成Golang结构体。这个项目对于那些需要频繁处理数据序列化和反序列化的开发者来说,无疑提供了极大的便利。在Golang中,...

    typescriptify-golang-structs:Golang结构到TypeScript类的接口转换器

    Golang JSON到TypeScript模型转换器 安装 命令行工具: go get github.com/tkrajina/typescriptify-golang-structs/tscriptify 图书馆: go get github.com/tkrajina/typescriptify-golang-structs 用法 使用...

    大家一起学Golang——结构体、方法

    大家一起学Golang——结构体、方法 结构体类型 空结构体 结构体标签 匿名字段 方法 重写 结构体类型 结构体类型通过一系列的且唯一的字段来声明。在go中数组切片只能存储同一类型的数据,但结构体用户可以自定义将...

Global site tag (gtag.js) - Google Analytics