打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
GO语言结构体

GO语言的结构体和C的基本上一样,不过在初始化时有些不一样,Go支持带名字的初始化。

示例代码如下:

package main


import (
    "fmt"
)
type Person struct {
    name string
    age  int
    address string
}
 
func main() {
    //初始化
    person := Person{"Tom", 30, "河南"}
    person = Person{name:"Tom", age: 30, address:"河南"}
 
    fmt.Println(person) //输出 {Tom 30 河南}
 
    pPerson := &person
 
    fmt.Println(pPerson) //输出 &{Tom 30 河南}
 
    pPerson.age = 40
    person.name = "Jerry"
    fmt.Println(person) //输出 {Jerry 40 河南}
}
注意:Go语言中没有public, protected, private的关键字,所以,如果你想让一个方法可以被别的包访问的话,你需要把这个方法的第一个字母大写。这是一种约定。
 
package main

import (
    "fmt"
)

type rect struct {
    width, height int
}

func (r *rect) area() int { //求面积
    return r.width * r.height
}

func (r *rect) perimeter() int { //求周长
    return 2 * (r.width + r.height)
}

func main() {
    r := rect{width: 10, height: 15}

    fmt.Println("面积: ", r.area())
    fmt.Println("周长: ", r.perimeter())

    rp := &r
    fmt.Println("面积: ", rp.area())
    fmt.Println("周长: ", rp.perimeter())
}
 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Go 语言系列15:函数
指针,结构体,方法,接口
Go 变量声明
Go语言时间处理延迟执行与定时器
Golang:Golang生成动态库及调用
Golang学习之路(一):Golang安装和配置
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服