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") }
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) // _ 为匿名变量,像一个树洞,表示忽略值 // 函数外每个语句都必须以关键字开始 // 同一个作用域中不能重复声明同名的变量 }
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) }
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) }
// 我发现复制这好麻烦,,就直接传github上面了
直接放个目录
请发表评论