首页 > 其他分享 >golang 给对象的基础数据类型的指针类型的属性赋值

golang 给对象的基础数据类型的指针类型的属性赋值

时间:2023-06-22 22:56:00浏览次数:42  
标签:name age 数据类型 golang Student 写法 赋值

概要

有时我们可能碰到定义成下面这样的结构体,结构体里某些属性是基础数据类型,更确切的说,是基础数据类型的指针类型。


type Student struct {
	name string `json:"name"`
	age  *int   `json:"age"` // age 是整型指针
}

不可行的写法

此时该如何对这种成员属性进行赋值呢,下面两种写法是错误的,编译器的语法检查会报错。

不可行的写法一:

	stu := Student{
		name: "zhangsan",
		age: &1, // 提示:Cannot take the address of '1'
	}

不可行的写法二:

	stu := Student{
		name: "zhangsan",
		age: &int(1), // 提示:Cannot take the address of 'int(1)'
	}

正确写法

先定义一个对应基础数据类型的变量,然后把变量取地址赋值给对象的属性

	temp := 1
	stu := Student{
		name: "zhangsan",
		age: &temp,
	}

标签:name,age,数据类型,golang,Student,写法,赋值
From: https://www.cnblogs.com/hi3254014978/p/17498512.html

相关文章

  • Java 基本数据类型 - 四类八种
    感谢:https://zhuanlan.zhihu.com/p/25439066八种基本数据类型分成四个大类1、整型byte、short、int、long2、浮点型float、double3、字符型char4、布尔型boolean数据类型详细介绍整型(byte、short、int、long)虽然byte、short、int、long数据类型都......
  • golang 的 sync.WaitGroup
    WaitGroup的用途:它能够一直等到所有的goroutine执行完成,并且阻塞主线程的执行,直到所有的goroutine执行完成。官方对它的说明如下:AWaitGroupwaitsforacollectionofgoroutinestofinish.ThemaingoroutinecallsAddtosetthenumberofgoroutinestowaitfor.Thenea......
  • Golang 做的几个跟性能有关的工具
    1、Vegetahttps://github.com/tsenart/vegetaVegeta是一个万能的HTTP负载测试工具,提供命令行工具和一个开发包。使用方法:$vegetaattack-hUsageofattack:-duration=10s:Durationofthetest-header=:Targetsrequestheader-ordering="random":Attackorderi......
  • win下 golang 跨平台编译
    本篇文章是win下的跨平台编译。安装GCC编译器(MinGW)我们需要GCC编译环境,这里我选择的是:MinGW。mac下安装了Xcode自动就带了GCC,win下没有,所以我们用MinGW这个最小化安装的GCC。MinGW官网提供了一种自动在线下载安装的gui小程序,http://sourceforge.net/projects/mingw/files/Install......
  • pg数据类型及数据类型转换
    数字类型:字符类型:时间日期类型:时间日期数据型支持的操符有、减、乘、除,下面举例说明:时间/日期类型常用函数:布尔类型:网络地址类型:当有存储IP地址需求的业务场时,对于PostgreSQL并不很悉的开发者可能会使用字符类型存储,实际上PostgreSQL提供用于存储IPv4......
  • redis数据类型和字符串操作
    redis数据类型1字符串===》做缓存,做计数器''' setkeyvalue getkey msetk1v1k2v2... mgetk1k2... setexkeyexpvalue incrbykeyincrement'''2列表===》消息队列''' rpushkeyvalue1value2... lpushkeyvalue1valu......
  • Golang 中文转拼音
    翻遍整个GitHub,Golang中文转拼音类库,怎么就这么难找呢?于是我造了一个轮子:中文转拼音类库.目前来说应该是最好用的了.GitHub传送门:https://github.com/Lofanmi/pinyin-golang如果说基于汉字拼音字典,逐个汉字替换,也是可以转换的,但是碰到多音字就很麻烦了.而......
  • TypeScript中的数据类型
    1.js有的类型boolean类型、number类型、string类型、array类型、undefined、null2.ts多出的类型tuple类型(元组类型)、enum类型(枚举类型)、any类型(任意类型)3.特别的类型 void类型(没有任何类型)表示定义方法没有返回值 never类型:是其他类型(包括null和undefined)......
  • 定义一个长度为10 的数组并赋值为0-9
    一、使用Array.applyletarr=Array.apply(null,{length:10}).map((item,index)=>{   returnindex;   });console.log(arr);//(10)[0,1,2,3,4,5,6,7,8,9]//原理:Array.apply的第二个参数是类数组调用Array.apply(null,{length:10})等于生成了长......
  • Golang如何优雅地关闭 channel
    Golang如何优雅地关闭channel萧瑟 golang面试经典讲解 2023-05-3121:00 发表于上海一、介绍想必听说过go的,应该都知道go的最大的特性goroutine并发编程,而说到并发编程,使用channel进行数据传输是go中的必修课。go的并发哲学:不要通过共享内存来通信,而要通过通......