分享
  1. 首页
  2. 文章

Learn Golang In Day 9

笑吧小鸟 · · 1271 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Learn Golang In Day 9

简介


结构体是自定义的数据结构

定义结构体


package main
import "fmt"
type Books struct {
 title string
 author string
 subject string
 bookid int
}
func main() {
 //创建一个结构体
 fmt.Println(Books{"Golang","菜鸟教程","Go语言",6453007})
 // key => value 方式赋值
 fmt.Println(Books{title: "Golang112",author: "",subject: "subject 哈哈", bookid:787823})
 // 字段可以省略
 fmt.Println(Books{subject: "subject 哈哈", bookid:787823})
} 
``**
### 访问结构体成员
---

package main

import "fmt"

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

func main() {
var Book1 Books
var Book2 Books

/* Book1 描述 */
Book1.title = "Book1 标题"
Book1.author = "作者"
Book1.subject = "课程"
Book2.bookid = 1234
fmt.Println(Book1, Book2)

}


### 结构体指针
---
- 结构体指针,大体上和C语言没有区别
- 但是,**结构体指针是一个集合,让人无法理解**

package main

import "fmt"

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

func main() {

/* 第1种方式 */
var Book1 Books = Books{"title1","author1", "subject2", 123}
var ptr *Books = nil
ptr = &Book1

printBook(ptr)

/* 第2种方式 */
Book2 := Books{title: "标题", subject : "subje"}
printBook(&Book2)

}

func printBook(book Books) {
ptr := book
fmt.Printf("func printBook, paramter address is %016x\n", ptr)
fmt.Printf("--------------\n")
fmt.Println(
book)
fmt.Printf("--------------\n")
fmt.Printf("title: %s\n", (*book).title)

}

- 执行结果

[Running] go run main.go


func printBook, paramter address is &{00007469746c6531 00617574686f7231 7375626a65637432 000000000000007b}

{title1 author1 subject2 123}

title: title1
func printBook, paramter address is &{0000e6a087e9a298 0000000000000000 0000007375626a65 0000000000000000}


{标题 subje 0}

title: 标题

[Done] exited with code=0 in 0.255860 seconds


 

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:笑吧小鸟

查看原文:Learn Golang In Day 9

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
1271 次点击
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏