• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

go学习笔记

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

2021-01-30 19:39:08

由于 go module原因

被迫用 goland

一些够goland的一些配置

其实和idea pycharm 都是一家公司的

配置都大差不差

如下配置

1. 配置滚轮

 

 

 

2. 去掉拼写检查

 

 

 3. 自动补全

意义不大,只是不占用ctrl+空格键 settings->keymap->menu->code->completion->Basic  设置成 alt+.  就好了

4. 配置每行注释,,因为默认是ctrl+/  我用vscode用了 alt+/   settings->keymap->menu->code->comment  with Line Comment 设置成alt+/  

5. 由于goland没有默认的eclipse快捷键,故自己下就好了

6. 由于自己项目下有git版本控制,故文件是红色的,故设置一下设置成none就好了

 

 

 7. 设置一下go module的源 按箭头指引就好了

 

 

 

 

 

 8. 真tnd麻烦  还有取消拼写检查(找不到直接搜索就好了)

 

 

 

 

 

 9.一些牛逼的插件  ctrl+alt+s 里的plugins 里进行搜索安装

CodeGlance 代码迷你缩放图插件

Codota

Translation

2021-01-27 21:16:57

依赖管理go module

1.15默认开启GO111MODULE的

直接无脑安装,不需要配置工作区的环境变量

可以手动开启 set GO111MODULE=on

可以设置环境变量 go env -w GO111MODULE=on

更改 go get 的源 go env -w GOPROXY=https://goproxy.cn,direct

初始化init 需要 在项目下 go mod init 该包的名字go mod init xxx 这样go build后的 exe文件就是该名字 ps: go buidl 之前,必须有mod文件, 先 执行上面步骤

 

 

 

2021-1-6 20:12:18

由于自己更懒,直接把笔记和代码直接push到github上面了 ,,每天代码配个README很可,

附上 github  https://github.com/TrueNewBee/goDemo

等学完一整块,,整理博客!!!

2021-1-6 18:19:11

**因为懒省事,故只写上上课笔记,贴上代码,等学完一整块比如go基础以后,整理到自己文章里面,博客只记录当天东西**
可以去 沙河小王子博客里面看看

由于太懒,把代码放到github上了

https://github.com/TrueNewBee/goDemo

每日代码

由于这是随笔,是为了记录东西,故直接用富文本编辑器方便插入代码,等学完后可以做一个详细博客

比如把基础学完,把笔记做好,  基础+进阶+框架


1. 下go 配置环境, 系统和当前环境 改成自己工作目录,, D:\go
2. 不过1.14后不要求,可以参考这篇博客
3. https://www.liwenzhou.com/posts/Go/install_go_dev/

go evn

 

go build (推荐使用)

1.在项目目录下 go build

2. 编译到其他目录,,, go build 项目路径(从GOPATH的src后面开始)

go run 执行脚本文件

go install 分为两步:

1. 先编译得到一个可执行文件
2. 讲可执行文件拷贝到 "GOPTH D:\Go\bin"

 

### Go语言文件的基本结构

****

 

```go
package main

// 导入包
import "fmt"

// 函数外只能放置标识符(变量/常量/函数/类型)的声明

// 程序的入口函数
func main() {
fmt.Println("hello world")
}

```

 

# Go语言基础之变量和常量

[慢慢接触就认识了](https://www.liwenzhou.com/posts/Go/01_var_and_const/)

 

### 变量声明

 

变量声明后才可以使用

``var s1 string; `` 声明一个s1字符串变量

面试注意:

`iota`是go语言的常量计数器,只能在常量的表达式中使用。

`iota`在const关键字出现时将被重置为0。const中每新增一行常量声明将使`iota`计数一次(iota可理解为const语句块中的行索引)。 使用iota能简化定义,在定义枚举时很有用。

 

### 数据类型

 

[数据类型](https://www.liwenzhou.com/posts/Go/02_datatype/)

 

进制转换

 

### 字符串

Go语言中字符串是用双引号包裹的!

Go语言中的单引号包裹的是字符!

```go
// 字符串
s := "hello 沙河"
// 单独的字母,汉字,符号表示一个字符
c1 := \'h\'
c2 := \'1\'

// 字节: 1字节=8bit (8个进制位)
// 1个字符\'A\'=1个字节
// 1个utf8编码的汉子 \'沙\' = 一般3个字节

```

// 2021-1-4 21:40:45 明天早起继续 明天做笔记

 

**go真tm简洁,很舒服,比python爽 ,,以后早上go,下午java!!!!!**

坚持!!

 

 

for if rune 看代码 明天早上做笔记

// 99 乘法表

 

**晚上回来补笔记!** `2021-1-6 10:52:01`
`已经开始补笔记`
贴上代码
```
01day hello world
```

package main

// 导入包
import "fmt"

// 函数外只能放置标识符(变量/常量/函数/类型)的声明

// 程序的入口函数
func main() {
    fmt.Println("hello world")
}
HelloWorld
package main

import "fmt"

// Go语言中,推荐使用驼峰式命名  首字母小写
var studentName string

var student_name string
var StudentName string

// 声明变量
// var name  string
// var age int
// var isOk bool

// 批量声明
var (
    name string // ""
    age  int    // 0
    isOk bool   // flase
)

func main() {
    name = "理想"
    age = 16
    isOk = true
    // Go语言中非全局变量声明必须使用.不适用编译不过去

    fmt.Print(isOk) // 在终端中输出打印的内容
    fmt.Println()
    fmt.Printf("name: %s", name) //  &s:站位符 使用name这个变量的值去替换占位符
    fmt.Println(age)             // 打印完指定的内容之后会在后面加一个换行符

    // 声明变量同时赋值(不推荐)
    var s1 string = "who"
    fmt.Println(s1)

    // 类推导(根据值判断该变量是什么类型)
    var s2 = "20"
    fmt.Println(s2)

    // 简短变量声明,只能在函数中使用(推荐)
    s3 := "哈哈哈哈"
    fmt.Println(s3)

    // _ 为匿名变量,像一个树洞,表示忽略值
    // 函数外每个语句都必须以关键字开始
    // 同一个作用域中不能重复声明同名的变量
}
var
package main

import "fmt"

// 常量

const pi = 3.1415926

// 批量声明常量
const (
    statusOK = 200
    notFound = 404
)

// 批量声明变量时,如果某一行后没有赋值,默认就和上一行一致
const (
    n1 = 100
    n2
    n3
)

// iota  面试注意: iota是go语言的常量计数器,只能在常量表达式中使用
// 每新增一行常量, iota +1
const (
    a1 = iota // 0
    a2 = iota // 1
    a3 = iota //2
)

// 跳过
const (
    b1 = iota // 0
    b2 = iota // 1
    _  = iota // 2
    b3 = iota // 3
)

// 插队
const (
    c1 = iota // 0
    c2 = 100  // 100
    c3 = iota // 2
    c4        // 3
)

// 多个变量声明在一行
const (
    d1, d2 = iota + 1, iota + 2 //     d1 : 1  d2 : 2
    d3, d4 = iota + 1, iota + 2 //    d3 : 2     d4 : 3
)

// 定义数量级
const (
    _  = iota
    KB = 1 << (10 * iota)
    MB = 1 << (10 * iota)
    GB = 1 << (10 * iota)
    TB = 1 << (10 * iota)
    PB = 1 << (10 * iota)
)

func main() {
    fmt.Println("n1:", n1)
    fmt.Println("n1:", n2)
    fmt.Println("n1:", n3)
    fmt.Println("n1:", a1)
    fmt.Println("n1:", a2)
    fmt.Println("n1:", a3)
}
const
package main

import "fmt"

// 整型

func main() {
    // 十进制
    var i1 = 101
    fmt.Printf("%d\n", i1)
    fmt.Printf("%d\n", i1) // 把十进制数转换成八进制
    fmt.Printf("%d\n", i1) // 把十进制数转换成十六进制

    // 八进制
    i2 := 077
    fmt.Printf("%d\n", i2)

    // 十六进制
    i3 := 0x1234567
    fmt.Printf("%d\n", i3)

    // 查看变量的类型
    fmt.Printf("%T\n", i3)

    // 声明int8类型,否则就是默认为int类型
    i4 := int8(9) // 明确指定int8类型,否则就是默认为int类型
    fmt.Printf("%T\n", i4)

}
int

// 我发现复制这好麻烦,,就直接传github上面了

直接放个目录

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
01 Go之环境搭建发布时间:2022-07-10
下一篇:
Go语言的堆栈分析发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap