Go创建及结构体变量是指定字段值

package main

import (
	"fmt"
)
type Stu struct {
	Name string
	Age int
}

func main() {

	//方式1
	//在创建结构体变量时,就直接指定字段的值
	var stu1 = Stu{"小明", 19} // stu1---> 结构体数据空间
	stu2 := Stu{"小明~", 20} //类型推导并省略var

	//在创建结构体变量时,把字段名和字段值写在一起, 这种写法,就不依赖字段的定义顺序.
	var stu3 = Stu{
		Name :"jack",
		Age : 20,
	}
	stu4 := Stu{
		Age : 30,
		Name : "mary",
	}
	fmt.Println(stu1, stu2, stu3, stu4) //{小明 19} {小明~ 20} {jack 20} {mary 30}

	//方式2, 返回结构体的指针类型
	var stu5 *Stu = &Stu{"小王", 29}  // stu5-->地址-->结构体数据[xxxx,xxx]
	stu6 := &Stu{"小王~", 39}

	//在创建结构体指针变量时,把字段名和字段值写在一起, 这种写法,就不依赖字段的定义顺序.
	var stu7 = &Stu{
		Name : "小李",
		Age :49,
	}
	stu8 := &Stu{
		Age :59,
		Name : "小李~",
	}
	fmt.Println(*stu5, *stu6, *stu7, *stu8) //{小王 29} {小王~ 39} {小李 49} {小李~ 59}

}

  

原文地址:https://www.cnblogs.com/yzg-14/p/12232647.html

时间: 2024-10-10 18:21:55

Go创建及结构体变量是指定字段值的相关文章

(struct)结构体变量作为函数参数调用的方法小结

结构体变量.结构指针变量.结构数组作为函数的参数应用实例分析 struct stud { long int num; float score; }; /*结构体变量作为函数的参数,修改之后的成员值不能返回到主调函数*/ void funvr(struct stud t) { t.num=2000101; t.score=71.0; } /*结构体数组作为函数的参数,修改后的元素的成员值能返回到主调函数*/ void funar(struct stud t[]) //void funar(stru

5/29 c的结构体变量

1.结构体变量的初始化和引用. 在定义结构体变量的时候,可以对它初始化,即赋予初始值.然后再引用这个变量. (1)在定义结构体变量时可以对它的成员初始化.初始化列表是用花括号括起来的一些常量,这些常量一次赋给结构体变量的成员.注意,我们要对结构体变量初始化,而不是对结构体类型初始化. (2)可以引起结构体变量中成员的值,引用方式为  结构体变量名,成员名.如student1.num=10010;“.”是成员运算符,他在所有的运算符中的运算符的优先级最高,因此可以吧student1.num作为一个

C语言 指向结构体变量的指针

一个指向变量的指针表示的是占内存中起始位置 一个指向结构体的变量的指针表示的是这个结构体变量占内存中的起始位置,同样它也可以指向结构体变量数组 定义结构体变量的指针: //假设已有一个结构体名为Student struct Student *pStruct // 结构体类型 * 指针名; 通过指针来引用结构体中的成员,有三种方式 demo: 1 # include <stdio.h> 2 # include <stdlib.h> 3 /* 4 1.使用->引用结构体成员 5

C/C++第一天开班,序章:结构体变量声明、实例化及输出

今天第一天开班,以后会不定期更新C/C++的基础内容,希望大家能多多喜欢,若大家有好的建议,请给我留言. 今天的主题:结构体变量声明.实例化及输出 代码如下: 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 5 struct People{ 6 char Name[10]; 7 int Age; 8 };//定义包含名称和年龄字段的结构体People 9 10 int main(){ 11

C的日记-结构体变量和结构体数组

[结构体] 定义结构体的两方式    <1>    struct student{};        struct student a={10001,"云中",'M',"北京"};    <2>    struct student{        }a={10001,"云中",'M',"北京"};定义结构体数组a换成a[],struct student stu[3]={{..},{..},{..}};

全局结构体变量的初始化以及将结构体变量转换为char类型输出问题

#include<stdio.h> #include<stdlib.h> struct node{ int a; int b; char c; char d; }; /*struct node A; 全局变量不能在这儿进行初始化,令我震惊啊,错误让你迷茫到死 A.a=1; A.b=2; A.c='a'; A.d='c';*/ //struct node A={1,2,'a','c'};但是这种写法可以 1:初始化和赋值不是一个概念. 2:// 在全局空间(即函数体之外)只能执行数据

编程题:展示对整个结构体变量的引用的其他方法。功能:对整个结构体变量进行操作。

编程题:展示对整个结构体变量的引用的其他方法.功能:对整个结构体变量进行操作. #include<stdio.h> void main() { struct person { char name[20]; char sex; struct date {int year; int month; int day; }birthday; float height; }per1,per2={"LiPing","M",2013,12,15,175.5}; per1

编程题:对结构体变量中成员的引用展示。

编程题:对结构体变量中成员的引用展示. #include<stdio.h> void main() { struct person { char name[20]; char sex; struct date {int year; int month; int day; }birthday; float height; }per; printf("Enter the name:"); gets(per.name);per.sex='M'; per.birthday.year

结构体变量的sizeof计算

结构体字节对齐准则: 1. 结构体变量的首地址能够被其最宽基本类型成员的大小所整除: 2. 结构体每个成员相对于结构体首地址的偏移量都是当前成员大小的整数倍,如有需要编译器会在成员之间加上填充字节: 3. 结构体的总大小为结构体最宽基本类型成员大小的整数倍,如有需要编译器会在最末一个成员之后加上填充字节. 4. 在嵌套结构中需要把内部‘打散'后再进行对齐计算. // sizeof(结构体).cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #inc