Golang语法探索-声明结构体

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

1  匿名声明。

tests := []struct {
        key, val string
        ok       bool
    }{
        {"имя", "v", false},          // key must be ascii
        {"name", "валю", true},       // value may be non-ascii
        {"", "v", false},             // key must be non-empty
        {"k", "", true},              // value may be empty
    }

这种模式常用。定义一张常量表,表的格式就这个地方用一下就可以。

2 集体声明:

type (
    // Echo is the top-level framework instance.
    Echo struct {
        server           engine.Server
        premiddleware    []MiddlewareFunc
        middleware       []MiddlewareFunc
        maxParam         *int
        notFoundHandler  HandlerFunc
        httpErrorHandler HTTPErrorHandler
        binder           Binder
        renderer         Renderer
        pool             sync.Pool
        debug            bool
        router           *Router
        logger           log.Logger
    }

    // Route contains a handler and information for matching against requests.
    Route struct {
        Method  string
        Path    string
        Handler string
    }

    // HTTPError represents an error that occurred while handling a request.
    HTTPError struct {
        Code    int
        Message string
    }

   **************

比单个type  XXX struct 省事情了。Golang的不啰嗦。

相近的东西是:

import, var, const语句。这样减少了程序中间的噪声信号。

例如,python这种,Java都这样。每次都写一个import。
import email.parser
import email.message
import http
import io
import os
import re
import socket
import collections
from urllib.parse import urlsplit

这个看似小事情,实际上很有用。

 

 

本文来自:开源中国博客

感谢作者:shengjuntu

查看原文:Golang语法探索-声明结构体

391 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet