Go语言中如何写Get和Set方法

首先我们要知道,在Go中方法名首字母大写是要导出的方法(也就是公有方法,public),而小写则是不导出的方法(私有的,private)。

Go官方不提供对Get、Set方法的自动支持。对是否设置Get Set方法的推荐做法,见代码:

package main

import "fmt"

type Foo struct {

name string

}

// Set方法

func (f *Foo) SetName(name string) {

f.name = name

}

// Get方法,无需使用Get,只要把首字母大写即可。

func (f Foo) Name() string {

return f.name

}

func main() {

p := Foo{}

p.SetName("Abc")

name := p.Name()

fmt.Println(name)

}

总结:Get方法不需要加Get字符串,直接属性名称大写做为方法名,Set方法需要属性前加Set字符串做为方法名。

时间: 2024-10-24 02:22:43

Go语言中如何写Get和Set方法的相关文章

R语言中最简单的向量赋值方法

R语言中最简单的向量赋值方法简介: 1. 生成等差数列的向量x x <- 1:10 #将x向量赋值为1 2 3 4 5 6 7 8 9 10 结果为 > x [1] 1 2 3 4 5 6 7 8 9 10 2. 将x的值全部修改成0 x[] <- 0 #非常简洁的赋值方法,建议使用 x[1:length(x)] <- 0 #不建议使用的赋值方法 结果为: > x[] <- 0 > x [1] 0 0 0 0 0 0 0 0 0 0 3.使用seq函数 x <

C语言中变长数组的使用方法

先说说我的理解: struct example{ __u16 tag_type; __u16 tag_len; char tag_data[0]; } __attribute ((packed)); 1. 存在的意义:当结构体的长度变长时,例如里面有一个字符串时,为了方便管理内存. 这个结构体不要用struct example a的方式定义, 而应用struct example *a; a = (struct example *)malloc(sizeof(struct example) + e

解析如何在C语言中调用shell命令的实现方法【转】

本文转自:http://www.jb51.net/article/37404.htm 1.system(执行shell 命令)相关函数 fork,execve,waitpid,popen表头文件 #include<stdlib.h>定义函数 int system(const char * string);函数说明 system()会调用fork()产生子进程,由子进程来调用/bin/sh-cstring来执行参数string字符串所代表的命令,此命令执行完后随即返回原调用的进程.在调用syst

VC++和C语言中常见数据类型转换为字符串的方法

1.短整型(int) itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制 itoa(i,temp,2); ///按二进制方式转换 2.长整型(long) ltoa(l,temp,10); 3.浮点数(float,double) 用fcvt可以完成转换,这是MSDN中的例子: int decimal, sign; char *buffer; double source = 3.1415926535; buffer = _fcvt(source,7,&dec

C语言中交换两个数值的方法

//方法1    int  one = 1;    int two = 2;    int temp = 0;    temp = one;    one = two;    two = temp;    printf("one = %d\n", one);    printf("two = %d\n", two);            //方法2    int a1 = 5;    int a2 = 8;    a1 = a2 - a1;    a2 = a2

苹果新的编程语言 Swift 语言进阶(九)--方法和下标

一.方法 方法是与特定类型相关的函数.与属性一样,方法也包括实例方法和类型方法. 类.结构.枚举都能定义实例方法,用来封装或实现给定类型的一个实例相关的功能或特定任务. 类.结构.枚举也能定义与类型本身相关的类型方法.类型方法与Objective-C语言中的类方法相似,类型方法只能在类型本身上调用. 1.1 实例方法的定义 实例方法是属于特定类.结构.枚举的实例的函数,它们用来支持那些实例的功能:提供存取和修改实例属性的方式,或者是提供与实例的功能相关的功能. 实例方法定义采用与函数相同的语法.

Photoshop/PS中如何写维吾尔语等语言 乱码

在新疆的朋友都了解很多标语上面都会有汉语.维语等两种语言.有很多维吾尔语.哈萨克语.柯尔克孜语等语言 要在PS 里进行设计处理,这时在Photoshop中进行设计时文字粘贴进来后出现不正常是乱码形式.因为,Photoshop不支持维吾尔语,所以我们必须把需要处理的文字处理成Unicode字符集的国际标准后,才复制到Photoshop后可以正常显示维吾尔语的.下面是我自己操作后的经验,步骤如下: 工具 Photoshop 本例使用的为cs6 ALKATIP 5.5 免费版的维吾尔语.哈萨克语.柯尔

C语言中的函数、数组与指针

1.函数:当程序很小的时候,我们可以使用一个main函数就能搞定,但当程序变大的时候,就超出了人的大脑承受范围,逻辑不清了,这时候就需要把一个大程序分成许多小的模块来组织,于是就出现了函数概念:  函数是C语言代码的基本组成部分,它是一个小的模块,整个程序由很多个功能独立的模块(函数)组成.这就是程序设计的基本分化方法: (1) 写一个函数的关键: 函数定义:函数的定义是这个函数的实现,函数定义中包含了函数体,函数体中的代码段决定了这个函数的功能: 函数声明:函数声明也称函数原型声明,函数的原型

[转载] C语言细节,写的非常棒!

这篇文章主要讨论C语言细节问题.在找一份工作的时候,语言细节占的比例非常小,之前看某个贴着讨论,估计语言细节在面试中,占了10%的比重都不到,那为什么还要研究C语言的细节呢,我觉得有三个原因促使我总结这篇文章: 1. 总会有些面试官喜欢问这样的问题,尤其是偏底层开发的面试官. 2. 总有有那么两个2B同学.同事,搞两个很偏的知识点来考你,把你难倒以后,他就乐呵呵的满足了. 3. 对C语言有更加巩固的基础,增加信心,在代码出错时,可以非常肯定哪里没有错,而把精力花在真正的问题上. 1) switc