Go语言学习笔记十: 结构体

Go语言的结构体语法和C语言类似。而结构体这个概念就类似高级语言Java中的类。

结构体定义

结构体有两个关键字type和struct,中间夹着一个结构体名称。大括号里面写上所有的成员变量,并且指定这些变量的类型。访问这些内部成员时使用.符号。注意是结构体创建的变量,才能用点访问内部成员。

不是直接用结构体访问。

package main

import "fmt"

type Book struct {
name string
price int
} func main() {
var book1 Book;
var book2 Book; book1.name = "书名1"
book1.price = 100 book2 = Book {"书名2", 200} fmt.Printf( "Book 1 name : %s\n", book1.name)
fmt.Printf( "Book 1 price : %d\n", book1.price)
fmt.Printf( "Book 2 : %s\n", book2)
}

结构体作为函数参数

func printBook( book Book ) {
fmt.Printf( "Book name : %s\n", book.name);
fmt.Printf( "Book price : %d\n", book.price)
}

结构体指针

var x *Book
x = &book1;
x.name;

结构体指针和结构体变量都是使用.来访问内部成员。感觉使用指针操作更麻烦一些。

最新文章

  1. Java Spring的IoC和AOP的知识点速记
  2. IE 11 如何设置“用户代理字符串”
  3. C# .NET 基本概念
  4. CSS 笔记三(Tables/Box Model/Outline)
  5. zepto--toggle函数
  6. linux shell执行方式
  7. 程序猿必备的10款web前端开发插件一
  8. MongoDB学习(翻译6)
  9. shell脚本一键同步集群时间
  10. mysql 大树据表update很慢
  11. angular路由最基本的实例---简单易懂
  12. php 不写闭合标签
  13. 深入理解 React JS 中的 setState
  14. 使用C#解决部分Win8.1系统窗口每隔几秒失去焦点的问题【转】
  15. Node.js 定时器
  16. 2.postman安装及使用
  17. Python 提案
  18. ACM-ICPC 2018 南京赛区网络预赛 G Lpl and Energy-saving Lamps(线段树)
  19. Centos 中 service iptables stop 失败
  20. js对json格式对象进行增加,修改,删除

热门文章

  1. Spring组件扫描 <context:component-scan/>
  2. hdu2844
  3. 老码农冒死揭开行业黑幕:如何编写无法维护的代码[ZZ]
  4. 二、安装并配置Kubernetes Master节点
  5. H5实现页面内跳转页面
  6. linux 修改MTU值
  7. 【文文殿下】浅析scanf源码
  8. Segment Tree-732. My Calendar III
  9. Stack-682. Baseball Game
  10. Educational Codeforces Round 34 (Rated for Div. 2) C. Boxes Packing