文档章节

Golang语法探索-声明结构体

shengjuntu
 shengjuntu
发布于 2017/01/08 13:09
字数 237
阅读 52
收藏 1

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

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

 

 

© 著作权归作者所有

下一篇: webpack 教程
shengjuntu
粉丝 14
博文 87
码字总数 17069
作品 0
上海
程序员
私信 提问
『Go 语言学习专栏』-- 第九期

大家好,我叫谢伟,是一名程序员。 我们已经研究了: Golang 环境的搭建、设置GOPATH、GOROOT 参数,Govendor 包管理, Goland 集成开发环境 Golang 语言学习专栏 -- 第一期 Golang 的基础知...

谢小路
2018/05/19
0
0
go 开发中需要注意的与python的不同点

从python转golang开发已经3个月了,因为写过c++,所以对golang接受的还算快,这段经历也不是很痛苦。伯乐在线上看了一些大神关于python转golang过程中的不适应和吐槽,决定写下篇博客。接下来...

熔遁丶螺旋手里剑
2018/07/29
0
0
『Go 语言学习专栏』-- 第四期

大家好,我是谢伟,是一名程序员。 本专栏的主旨是:梳理 Golang 知识,力求从初级水平提升至中级水平。 同时将一些符合人性的编程经验和好的编程方法,分享给大家。 希望对大家有帮助。 本节...

谢小路
2018/05/10
0
0
『Go 语言学习专栏』-- 第八期

大家好,我是谢伟,是一名程序员。 下面的学习是一个系列,力求从初学者的角度学会go 语言,达到中级程序员水平。 这一系列是我的输出总结,同时我还推出了视频版。正在制作过程。 为写出这些...

谢小路
2018/05/15
0
0
Golang 匿名结构体及测试代码编写技巧

这两天在学习 Golang 如何 TDD ,了解到匿名结构体切片在 TableDrivenTests 中经常用到。 Writing good tests is not trivial, but in many situations a lot of ground can be covered with ......

hww_面条酱
2017/11/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis Plus删除

/** @author beth @data 2019-10-17 00:30 */ @RunWith(SpringRunner.class) @SpringBootTest public class DeleteTest { @Autowired private UserInfoMapper userInfoMapper; /** 根据id删除......

一个yuanbeth
今天
4
0
总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
今天
5
0
java内存模型

前言 Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模...

ls_cherish
今天
4
0
友元函数强制转换

友元函数强制转换 p522

天王盖地虎626
昨天
5
0
js中实现页面跳转(返回前一页、后一页)

本文转载于:专业的前端网站➸js中实现页面跳转(返回前一页、后一页) 一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a h...

前端老手
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部