GO语言之结构体

84 篇文章 3 订阅

GO语言结构体,与java类相似,但也有不同之处

package main

import (
	"fmt"
)

//Rect fields
type Rect struct {
	width  int//声明字段名称
	height int
}

//Area function
func (r *Rect) Area() int {//添加类中的方法
//添加方法与其他语言有所不同,添加方法是在结构体外添加
	return r.width * r.height
}
func main() {
	rect := &Rect{100, 200}
	fmt.Println(rect.Area())//调用方法
}

GO语言声明结构体

type structname struct{
width int//字段名称
height int
}
func (n *structname) Add() int {
//首先方法名前的(n *structname)表示自定义指针,当访问内部字段时,使用n.fieldsname访问字段
return r.width*r.height
}
func main(){
	tstruct :=&structname{100,200}
//初始化结构体方法有多种,只是其中一种,其他方法,在下面介绍
	fmt.Println(tstruct.Add())
}

结构体初始化有很多种

type test struct{
	width int
	heght int
}
test1:=new(test)
test2:=&test{}
test3:=&test{100,200}
test4:=&test{width:100,height:200}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值