Go语言结构示例

Go语言结构

使用指针引用结构还是挺奇怪的一件事,因为……没有->操作符了,只有.   于是就只能用点,有点搞不清到底是一个指针还是一个原始简单变量。

下面是一个打印书的程序,将书名等等信息打一下。在最后的函数printBook中,使用了指针指向一个结构Books。然后,在函数中直接写了book.title。如果是book Books,也是这么写:book.title。

本例子援引了另一个网站http://www.yiibai.com的例子,不过原来的例子错了,会有: syntax error: unexpected semicolon or newline before {    错误。因为把一个大括号换行放在第一个字符了。而go需要func的声明后面紧跟着大括号。

package main

import "fmt"

type Books struct {
   title string
   author string
   subject string
   book_id int
}


func main() {
   var Book1 Books        /* Declare Book1 of type Book */
   var Book2 Books        /* Declare Book2 of type Book */
 
   /* book 1 specification */
   Book1.title = "Go Programming"
   Book1.author = "Mahesh Kumar"
   Book1.subject = "Go Programming Tutorial"
   Book1.book_id = 6495407

   /* book 2 specification */
   Book2.title = "Telecom Billing"
   Book2.author = "Zara Ali"
   Book2.subject = "Telecom Billing Tutorial"
   Book2.book_id = 6495700
 
   /* print Book1 info */
   printBook(&Book1)

   /* print Book2 info */
   printBook(&Book2)
}
func printBook( book *Books ) {
   fmt.Printf( "Book title : %s\n", book.title)
   fmt.Printf( "Book author : %s\n", book.author);
   fmt.Printf( "Book subject : %s\n", book.subject);
   fmt.Printf( "Book book_id : %d\n", book.book_id);
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值