<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      ex1

      /*
      https://golangbot.com/structs/
      struct 結構
      結構就是一組字段。
      */
      
      package main
      
      import "fmt"
      
      // 聲明一個結構
      type Employee struct {
      	firstName string
      	lastName  string
      	age       int
      }
      //// 同類型簡化聲明
      //type Employee struct {
      //	firstName, lastName string
      //	age, salary         int
      //}
      
      func main() {
      
      	// 匿名結構, 不給結構名字
      	var employee struct {
      		firstName, lastName string
      		age int
      	}
      	employee.age = 33
      	fmt.Println(employee)
      
      	// 結構初始化為零値
      	fmt.Println("Employee:", Employee{})
      }
      
      

      ex2

      // 創建命名結構
      package main
      
      import (
      	"fmt"
      )
      
      type Employee struct {
      	firstName, lastName string
      	age, salary         int
      }
      
      func main() {
      
      	//使用字段名字創建結構
      	emp1 := Employee{
      		firstName: "Sam",
      		age:       25,
      		salary:    500,
      		lastName:  "Anderson",
      	}
      
      	//創建結構不使用字段名字
      	emp2 := Employee{"Thomas", "Paul", 29, 800}
      
      	fmt.Println("Employee 1", emp1)
      	fmt.Println("Employee 2", emp2)
      }
      

      ex3

      // 創建匿名結構
      package main
      
      import (
      	"fmt"
      )
      
      func main() {
      	emp3 := struct {               // 這里定義
      		firstName, lastName string
      		age, salary         int
      	}{                            // 這里初始化
      		firstName: "Andreah",
      		lastName:  "Nikola",
      		age:       31,
      		salary:    5000,
      	}
      
      	fmt.Println("Employee 3", emp3)
      }
      

      ex4

      // 結構字段訪問
      package main
      
      import (
      	"fmt"
      )
      
      type Employee struct {
      	firstName, lastName string
      	age, salary         int
      }
      
      func main() {
      	emp6 := Employee{"Sam", "Anderson", 55, 6000}
      	fmt.Println("First Name:", emp6.firstName)
      	fmt.Println("Last Name:", emp6.lastName)
      	fmt.Println("Age:", emp6.age)
      	fmt.Printf("Salary: $%d", emp6.salary)
      	fmt.Println()
      	var emp7 Employee
      	emp7.firstName = "Jack"
      	emp7.lastName = "Adams"
      	fmt.Println("Employee 7:", emp7)
      }
      

      ex5

      // 結構指針
      package main
      
      import (
      	"fmt"
      )
      
      type Employee struct {
      	firstName, lastName string
      	age, salary         int
      }
      
      func main() {
      	// 這里emp8就是一個結構指針
      	emp8 := &Employee{"Sam", "Anderson", 55, 6000}
      	fmt.Println("First Name:", (*emp8).firstName)  // 通過指針訪問結構字段
      	fmt.Println("Age:", (*emp8).age)
      
      	// golang提供另一種可選方法來訪問結構字段
      	fmt.Println("First Name:", emp8.firstName)
      	fmt.Println("Age:", emp8.age)
      }
      

      ex6

      // 結構匿名字段
      package main
      
      import (
      	"fmt"
      )
      
      // 定義的結構, 包含有匿名字段
      type Person struct {
      	string
      	int
      }
      
      func main() {
      	// 帶匿名字段的結構的實例化
      	p1 := Person{"Naveen", 50}
      	fmt.Println(p1)
      	// 盡管匿名字段沒有名字, 它的缺省名字是類型名字
      	p1.string = "naveen_new"
      	p1.int = 100
      	fmt.Println(p1)
      }
      

      ex7

      // 結構嵌套
      package main
      
      import (
      	"fmt"
      )
      
      type Address struct {
      	city, state string
      }
      type Person struct {
      	name string
      	age int
      	address Address
      }
      
      func main() {
      	var p Person
      	p.name = "Naveen"
      	p.age = 50
      	p.address = Address {
      		city: "Chicago",
      		state: "Illinois",
      	}
      	fmt.Println("Name:", p.name)
      	fmt.Println("Age:",p.age)
      	fmt.Println("City:",p.address.city)
      	fmt.Println("State:",p.address.state)
      }
      

      ex8

      // 結構提升字段
      package main
      
      import (
      	"fmt"
      )
      
      type Address struct {
      	city, state string
      }
      type Person struct {
      	name string
      	age  int
      	Address  // 當結構中, 存在一個匿名的結構型字段。  我們把這個字段叫提升字段
      }
      
      func main() {
      	var p Person
      	p.name = "Naveen"
      	p.age = 50
      	p.Address = Address{
      		city:  "Chicago",
      		state: "Illinois",
      	}
      	fmt.Println("Name:", p.name)
      	fmt.Println("Age:", p.age)
      	fmt.Println("City:", p.city) //這個字段,直接提升到上一級,可以直接訪問
      	fmt.Println("State:", p.state) //這個字段,直接提升到上一級,可以直接訪問
      	fmt.Println("City:", p.Address.city)
      	fmt.Println("State:", p.Address.state)
      }
      

      ex9

      // 結構導出<即外部可訪問性>
      package main
      
      import (
      	"fmt"
      )
      
      // 當前結構首字母大寫, 則外部包可以訪問
      type Address struct {
      	// 字段同理
      	City, state string
      }
      type Person struct {
      	name string
      	age  int
      	Address  // 當結構中, 存在一個匿名的結構型字段。  我們把這個字段叫提升字段
      }
      
      func main() {
      	var p Person
      	p.name = "Naveen"
      	p.age = 50
      	p.Address = Address{
      		City:  "Chicago",
      		state: "Illinois",
      	}
      	fmt.Println(p)
      
      }
      

      ex10

      // 結構相等
      // 結構是值類型,可以直接比較(僅當他們字段可以比較時)
      package main
      
      import (
      	"fmt"
      )
      
      type name struct {
      	firstName string
      	lastName string
      }
      
      type image struct {
      	data map[int]int  // 這個字段是不可比較的
      }
      
      func main() {
      	name1 := name{"Steve", "Jobs"}
      	name2 := name{"Steve", "Jobs"}
      	if name1 == name2 {
      		fmt.Println("name1 and name2 are equal")
      	} else {
      		fmt.Println("name1 and name2 are not equal")
      	}
      
      	name3 := name{firstName:"Steve", lastName:"Jobs"}
      	name4 := name{}
      	name4.firstName = "Steve"
      	if name3 == name4 {
      		fmt.Println("name3 and name4 are equal")
      	} else {
      		fmt.Println("name3 and name4 are not equal")
      	}
      
      
      	// 不可比較情況
      	//image1 := image{data: map[int]int{
      	//	0: 155,
      	//}}
      	//image2 := image{data: map[int]int{
      	//	0: 155,
      	//}}
      	//// 這里直接報錯
      	//if image1 == image2 {
      	//	fmt.Println("image1 and image2 are equal")
      	//}
      }
      
      posted on 2019-03-13 11:49  陳峰  閱讀(197)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产福利微视频一区二区| a片免费视频在线观看| 麻豆国产成人AV在线播放| 最新的国产成人精品2022| 无码AV无码免费一区二区| 午夜成人无码福利免费视频| 亚洲综合一区二区三区不卡| 国产精品 第一页第二页| 成人特黄特色毛片免费看| 国产女人18毛片水真多1| 日本美女性亚洲精品黄色| 日韩在线观看中文字幕| 国内精品久久人妻无码不卡| 亚洲区综合区小说区激情区| 国产一区二区三区在线看| 搡bbbb搡bbb搡| 日韩乱码人妻无码中文字幕视频| 亚洲一区二区三区丝袜| 亚洲日韩国产精品第一页一区| 剑川县| 免费无遮挡无码视频网站| 国产99视频精品免费专区| 亚洲精品一区国产| 国产欧美在线手机视频| 蜜桃视频一区二区三区四| 国产成人无码AV片在线观看不卡| 亚洲精品国产av成拍色拍个 | 精品国产一区二区三区久| 91精品国产91热久久久久福利 | 亚洲国产精品第一区二区| 婷婷六月天在线| 欧美激情一区二区久久久| 国产一区二区三区十八禁| 精品黄色av一区二区三区| 国产精品成人网址在线观看| 亚洲国产精品自产拍久久| 日本少妇被黑人xxxxx| 自拍偷自拍亚洲精品熟妇人| 亚洲国模精品一区二区| 欧洲熟妇色xxxx欧美老妇多毛网站| 97久久超碰精品视觉盛宴|