zoukankan      html  css  js  c++  java
  • 毕业设计一周一记05

    go语言遍历数组

    使用range

    func (this *ShopController) Get() {
    	this.TplName = "shop.html"
    	var classfies []*models.Classify
    	var err error
    	classfies, err = models.GetClassifyAll(1)
    	if err != nil {
    		beego.Error(err)
    	}
    	for classItem := range classfies {
    		classfies[classItem].Children, err = models.GetClassifyAll(classfies[classItem].Id)
    
    		fmt.Println("显示分类:")
    		fmt.Println(classItem)
    	}
    	this.Data["classfies"] = classfies
    }
    

     range遍历slice切片时返回值为int型数值,而不是切片类型的变量

    问题二:

    分类的结构设计选用方案:

    type Classify struct {
    	Id       int
    	Name     string
    	Father   *Classify   `orm:"rel(fk)"`
    	Children []*Classify `orm:"reverse(many)"`
    }
    

    自身和自身形成一对多关系映射,形成分类的多级分类

    知识点:

    chan通道

    ch:=make(chan 数据类型)
    ch <- 数值 //发送数值2给这个通道
    x:=<-ch //从通道里读取值,并把读取的值赋值给x变量
    <-ch //从通道里读取值,然后忽略

    通道我们还可以使用内置的 close 函数关闭。
    close(ch)
    
    使用 make 函数初始化的时候,只有一个参数,其实 make 还可以有第二个参数,用于指定通道的大小。默认没有第二个参数的时候,通道的大小为0,这种通道也被成为 无缓冲通道
    ch := make(chan int, 3)
    

     单向通道

    定义单向通道也很简单,只需要在定义的时候,带上 <-

    
    
    var send chan<- int //只能发送
    var receive <-chan int //只能接收
    
    
    

     知识点二:

    go语言类型断言:

    value, ok := em.(T)
    

    其中em为interface{}类型 T是要断言的类型。

    类型断言表示的意义是:em(类型为interface{})的变量是否可以改变为,真实类型是否为T.

    em代表要判断的变量 

    T代表被判断的类型

    value代表返回的值

    ok代表em类型是否可以改变为T

     

    知识点:

    go语言net/http包中
    type Response struct {
        Status     string // e.g. "200 OK"
        StatusCode int    // e.g. 200
        Proto      string // e.g. "HTTP/1.0"
        ProtoMajor int    // e.g. 1
        ProtoMinor int    // e.g. 0
        Header Header
        Body io.ReadCloser
        ContentLength int64
        TransferEncoding []string
        Close bool
        Trailer Header
    
        // 用于获取本相应所发送的请求
        // Request's Body is nil (having already been consumed).
        // 为客户机请求填充
        Request *Request
    
    
        TLS *tls.ConnectionState
    }
    
    
    
    
    
    

    知识点:

    atomic

    原子操作

  • 相关阅读:
    CSS计数器
    CSS3选择器的研究
    CSS3新技能学习笔记
    CSS3伸缩布局Flex学习笔记
    被废了的display:box弹性盒模型
    领会CSS,实际中的研究
    移动端调试工具DebugGap推荐。
    Python学习笔记
    按位运算符以及位移运算探讨
    AJAX大文件切割上传以及带进度条。
  • 原文地址:https://www.cnblogs.com/amiee/p/7880759.html
Copyright © 2011-2022 走看看