zoukankan      html  css  js  c++  java
  • Golang,开车上路。

    2017年1月29日,开始学习 golang, 一边学习一边做笔记。

    ◆ Golang 的开发环境非常容易搭建,双击安装包安装后,设置一个系统变量即可。

    设置系统变量

    安装 go 1.8 以上版本,则连这个系统变量也不用设置,默认 %USERPROFILE%go 为 workspace, 因此,只要在 %USERPROFILE% 里新建文件夹 go/src 即可。

    ◆ 利用当前时间来做随机数的种子。

    利用当前时间来做随机数的种子。

    ◆ 教程里说:

    nil map has no keys, nor can keys be added.

    但是没有给出具体的例子,于是我做了以下试验:

    var m map[string]int // 构建一个空map
    m["abc"] = 123       // 对空map添加key
    fmt.Println(m)
    

    结果,果然运行出错 panic: assignment to entry in nil map

    这里 https://blog.golang.org/go-maps-in-action 有更详细的说明。

    ◆ 把 byte 转换为 string

      正确的方法是先把 byte 转换为 int, 再使用 strconv.Itoa 函数。

     

    一开始我尝试使用 string(int) 来转换,但是不对,没想到这样做其实是把 code points 转换为 Unicode 字符,详细说明参阅:https://golang.org/ref/spec#Conversions

    ◆ A Tour of Go, Exercise: Readers

      在官方答案里,是这样定义这个method的:

    func (r MyReader) Read(b []byte) (int, error)
    

      但是我发现变量 r 根本没有被调用,尝试不要这个变量,即:

    func (MyReader) Read(b []byte) (int, error)
    

      果然,这样也是可以的。

    ◆ goland 的语法比较严格,如下面这个例子所示, struct 的最后一个元素与大括号之间如果有换行,则需要逗号,否则编译出错。不换行则不需要逗号。

    ◆ 声明时自动计算 array 长度

    a := [...]string{"Penn", "Teller"} // len(a) is 2
    

      

    (本文档随着我一边学习一边更新)

  • 相关阅读:
    网格视图
    使用box-shadow 属性用来可以创建纸质样式卡片:
    css 按钮动画
    vue父组件向自定义组件传递参数过程
    vue中如何使用 v-model 实现双向数据绑定?
    vue中是如何实现响应键盘回车事件
    vue中如何实现 样式绑定?
    webpack require.Context功能作用
    Personal tips for success
    my blog frist
  • 原文地址:https://www.cnblogs.com/ahui2017/p/6357530.html
Copyright © 2011-2022 走看看