广告
返回顶部
首页 > 资讯 > 数据库 >Go语言中结构体如何使用
  • 888
分享到

Go语言中结构体如何使用

2024-04-02 19:04:59 888人浏览 泡泡鱼
摘要

本篇文章为大家展示了Go语言中结构体如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。结构体Go语言中的基本数据类型可以表示一些事物的基本属性,但是当我们想表达

本篇文章为大家展示了Go语言中结构体如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

结构体
Go语言中的基本数据类型可以表示一些事物的基本属性,但是当我们想表达一个事物的全部或部分属性时,这时候基本数据类型就无法满足需求了。
Go语言提供了一种自定义数据类型,可以封装多个基本数据类型,这种数据类型叫结构体(struct)。
我们可以通过struct来定义自己的类型了。
Go语言中通过struct来实现面向对象
2.1结构体的定义
使用type和struct关键字来定义结构体,具体代码格式如下:

type 类型名 struct {
 字段名 字段类型
 字段名 字段类型
 …
}

其中:
类型名:标识自定义结构体的名称,在同一个包内不能重复。
字段名:表示结构体字段名。结构体中的字段名必须唯一。
字段类型:表示结构体字段的具体类型。
举个例子,我们定义一个Person结构体,代码如下:
type Person struct {
 name string
 city string
 age int8
}

同样类型的字段可以卸载一行
type Person struct {
 name,city string
 age int8
}

这样我们就拥有了一个Person的自定义类型,它有name,city,age三个字段,分别表示姓名,城市和年龄。
这样我们就能使用Person结构体存储人的信息了。

语言内置的数据类型是用来描述一个值得,结构体是用来描述一组值的。
比如一个人有名字,年龄和居住城市等,本质上是一种聚合型的数据类型。
2.2结构体实例化
只有当结构体实例化时,才会真正的分配内存。即必须实例化后才能使用结构体的字段。
结构体本身也是一种类型,我们可以像声明内置类型一样使用var关键字声明结构体类型。

var 结构体实例 结构体类型
2.2.1结构体基本实例化
通过"."来访问结构体的字段,例如person1.name和person1.age

package mainimport "fmt"type Person struct {    name,city string    age int8}func main() {    var person1 Person    person1.name="vita"    person1.city="ShangHai"    person1.age=27    fmt.Printf("p1=%v\n",person1)    fmt.Printf("p1=%#v\n",person1)}结果:p1={vita ShangHai 27}p1=main.Person{name:"vita", city:"ShangHai", age:27}Process finished with exit code 0

2.2.2匿名结构体
在定义一些临时数据结构时,可以使用匿名结构体。

package mainimport "fmt"func main() {    var person2 struct{name string;age int}    person2.name="vita"    person2.age=27    fmt.Printf("p1=%v\n",person2)    fmt.Printf("p1=%#v\n",person2)}结果:p1={vita 27}p1=struct { name string; age int }{name:"vita", age:27}Process finished with exit code 0

2.2.3创建指针类型结构体
我们还可以通过new关键字对结构体进行实例化,得到的是结构体的地址。
package main

import "fmt"
type Person struct {
 name string
 city string
 age int
}
func main() {
 var person3 = new(Person)
 fmt.Printf("%T\n",person3)
 fmt.Printf("p3=%#v\n",person3)
 person3.name="vita"
 person3.age=27
 fmt.Printf("p3=%v\n",person3)
 fmt.Printf("p3=%#v\n",person3)
}

结果:
*main.Person
p3=&main.Person{name:"", city:"", age:0}
p3=&{vita 27}
p3=&main.Person{name:"vita", city:"", age:27}

Process finished with exit code 0

从打印结果可以看到,p3是一个结构体指针。
Go语言中支持对结构体指针直接使用"."访问结构体成员。
2.2.4取结构体的地址实例化
使用&对结构体进行取地址操作相当于对该结构体进行了一次new实例化操作。

package mainimport "fmt"type Person struct {    name string    city string    age int}func main() {    var person4 = &Person{}    fmt.Printf("%T\n",person4)    fmt.Printf("p4=%#v\n",person4)    person4.name="vita"    person4.age=27    fmt.Printf("p4=%v\n",person4)    fmt.Printf("p4=%#v\n",person4)}结果:*main.Personp4=&main.Person{name:"", city:"", age:0}p4=&{vita  27}p4=&main.Person{name:"vita", city:"", age:27}Process finished with exit code 0

person4.name="vita"其实在底层是(* person4).name="vita",这是Go语言帮我们实现的语法糖。

上述内容就是Go语言中结构体如何使用,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: Go语言中结构体如何使用

本文链接: https://www.lsjlt.com/news/58911.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Go语言中如何使用结构体
    这篇文章将为大家详细讲解有关Go语言中如何使用结构体,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。结构体结构体是 go 语言中一个比较重要的概念,在 c  语言中也有类似的东西。由...
    99+
    2023-06-15
  • Go语言中结构体如何使用
    本篇文章为大家展示了Go语言中结构体如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。结构体Go语言中的基本数据类型可以表示一些事物的基本属性,但是当我们想表达...
    99+
    2022-10-18
  • Go语言的结构体如何使用
    这篇文章主要介绍“Go语言的结构体如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Go语言的结构体如何使用”文章能帮助大家解决问题。定义结构体,是一种自定义的数据类型,由多个数据类型组合而成。...
    99+
    2023-07-05
  • Go语言中如何使用结构体构造函数
    这篇文章将为大家详细讲解有关Go语言中如何使用结构体构造函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Go语言的结构体 构造函数下面的代码就实现了一个P...
    99+
    2022-10-18
  • Go语言中的Struct结构体
    一、Struct结构体 Go语言中没有像C#、Java一样的Class,只有Struct这样的结构体。Go语言使用type关键字来定义一个类型。 如下: type User stru...
    99+
    2022-11-13
  • 如何在go语言项目中使用空结构体
    本篇文章给大家分享的是有关如何在go语言项目中使用空结构体,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。用法:1、将map作为Set使用时,可以将值类型定义为空结构体,仅作为占...
    99+
    2023-06-15
  • 怎么使用Go语言基础结构体
    本篇内容主要讲解“怎么使用Go语言基础结构体”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Go语言基础结构体”吧!概述结构体是由一系列具有相同类型或不同类型的数据构成的数据集合语法定义结...
    99+
    2023-06-25
  • go语言中结构体方法如何定义
    本篇内容主要讲解“go语言中结构体方法如何定义”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“go语言中结构体方法如何定义”吧!go语言中结构体方法的定义方法:1、定义一个结构体,语法“type ...
    99+
    2023-07-05
  • C语言中结构体如何使用
    今天就跟大家聊聊有关C语言中结构体如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、关于结构体在C语言中,结构体(struct)指的是一种数...
    99+
    2022-10-19
  • Go语言空结构体详解
    目录前言什么是空结构体特点地址相同大小为0原理探究使用场景集合(Set)channel中信号传输总结前言 在使用 Go 语言开发过程中,我们不免会定义结构体,但是我们定义的结构体都是...
    99+
    2022-11-13
  • go语言string转结构体如何实现
    这篇“go语言string转结构体如何实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“go语言string转结构体如何实现...
    99+
    2023-07-05
  • C语言结构体如何使用
    本文小编为大家详细介绍“C语言结构体如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言结构体如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。本质一些值的集合。简单使用#include ...
    99+
    2023-06-30
  • C语言中的结构体如何使用
    本篇内容介绍了“C语言中的结构体如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!结构体的声明结构体的定义:结构体是一些值的集合,这些值...
    99+
    2023-07-02
  • Go语言中结构体的作用是什么
    这篇文章给大家介绍Go语言中结构体的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。自定义类型type 自定义类型名 类型名 例: type NewInt&nb...
    99+
    2023-06-15
  • Go语言之结构体与方法
    目录一、结构体1、结构体的定义与使用2、定义并赋初值3、匿名结构体(只使用一次,没有名字)4、结构体的零值5、结构体的指针6、匿名字段(字段没有名字,只有类型)7、嵌套结构体(结构体...
    99+
    2022-11-12
  • go语言结构体怎么赋值
    在Go语言中,结构体的赋值可以通过两种方式进行:1. 通过字段名逐个赋值:可以使用`结构体变量名.字段名`的方式进行赋值。例如:``...
    99+
    2023-10-10
    go语言
  • Go语言空结构体是什么
    这篇文章主要为大家展示了“Go语言空结构体是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Go语言空结构体是什么”这篇文章吧。什么是空结构体我们说不包含任何字段的结构体叫做空结构体,可以通过...
    99+
    2023-06-28
  • C语言中结构体和共用体如何使用
    本篇文章给大家分享的是有关C语言中结构体和共用体如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。结构体 / struct结构体的定义声明一个结构体类型的一般形式为:str...
    99+
    2023-06-16
  • Go语言类型内嵌和结构体内嵌如何使用
    这篇文章主要讲解了“Go语言类型内嵌和结构体内嵌如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go语言类型内嵌和结构体内嵌如何使用”吧!结构体可以包含一个或多个匿名(或内嵌)字段,即...
    99+
    2023-07-05
  • go语言string转结构体的实现
    在 Go 语言中,可以使用标准库中的 encoding/json 包将 JSON 格式的字符串转换为结构体。 假设有以下 JSON 字符串: { "name": "鸡哥", ...
    99+
    2023-03-19
    go语言string转结构体 go string 结构体
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作