zoukankan      html  css  js  c++  java
  • GO 结构体基础

    package main
    
    import "fmt"
    
    /*
    	结构体 type name struct
    		说明:struct是值传递所以 结构体1=结构体2 这是如果想通过结构体1修改结构体2那么在给结构体1赋值是就应该赋的是 &结构体2的地址值
    */
    //定义结构体就是PHP中的类
    type Cat struct {//名字开头大写就可以在其他包使用 下面变量也是相同
    	Name    string
    	Age     int
    	Color   string
    	arrName [3] int //可以是数组 切片 指针 map等 如果字段类型是 指针 slice map 需要先创建空间才能使用
    }
    func main() {
    	//用结构体 这样cat1的值就是Cat结构体但都是默认值
    	var cat1 Cat
    	cat1.Name="名字"
    	cat1.Age=17
    	cat1.Color="黑白"
    	fmt.Println(cat1)
    	//取某个信息
    	fmt.Println(cat1.Name)
    	//可以在声明的时候就初始化内容 如果不初始化就是默认值
    	var cat2=Cat{
    		Name:  "猫",
    		Age:   16,
    		Color: "蓝色",
    	}
    	fmt.Println(cat2)
    	//new一个类
    	p1 :=new(Cat)//p1其实是一个指针 但是和其他的使用一样是因为GO底层处理了
    	p1.Name="指针来赋值的名字"
    	//也可以用&地址符来声明
    	person :=&Cat{}
    	person.Name="用地址符声明的"
    
    
    }
    

      

  • 相关阅读:
    百度之星初赛 A
    百度之星 初赛 BC
    2016 百度之星资格赛
    codeforces 749
    codeforces 785
    HDU 4617
    网络流 poj 2195
    网络流 poj 3436 poj 3281
    codeforces 780 C
    idea激活
  • 原文地址:https://www.cnblogs.com/sheep-fu/p/14833140.html
Copyright © 2011-2022 走看看