Golang
本专栏主要用于介绍 Golang 极速入门及其重要知识点,专栏唯一作者为 : JYLin 。 作者ORCID号:https://orcid.org/0000-0003-0558-6699
YDOOK 林进威的博客
这个作者很懒,什么都没留下…
展开
-
HTML CSS 取消输入框 input 在获取焦点时的外边框 修饰
使用方法 :添加定义属性style="outline:none;"原创 2019-08-20 19:48:03 · 1875 阅读 · 0 评论 -
Golang 创建结构体方法集
示例代码:package mainimport "fmt"// Result 声明定义:结果结构体type Result struct { ID int64 Part1 string Part2 string}// GetResult1 结构方法集 :方法1func (r *Result) GetResult1() string { fmt.Println("Ge...原创 2019-08-09 10:37:12 · 1282 阅读 · 0 评论 -
Golang 方法 定义使用示例功能特点
示例代码:package mainimport "fmt"type Func struct { ID string Content string}// (f *Func) 是接收者, 为函数传入一个结构// 函数前面传入一个结构就是:方法func (f *Func) handleText() string { f.ID = f.ID + "Num 001" f...原创 2019-08-09 10:35:06 · 256 阅读 · 0 评论 -
YDOOK :Golang 巧用构造函数设置结构体的默认值
示例代码:package mainimport "fmt"type s1 struct { ID string s2 s2 s3 s3}type s2 struct { WebSiteName string URL string}type s3 struct { KeyWord []string Where string}func ma...原创 2019-08-09 10:31:16 · 5837 阅读 · 0 评论 -
Golang 结构体嵌套定义
示例代码:package mainimport "fmt"type s1 struct { ID string s2 s2 s3 s3}type s2 struct { WebSiteName string URL string}type s3 struct { KeyWord []string Where string}func ma...原创 2019-08-09 10:28:42 · 3686 阅读 · 0 评论 -
Golang 声明创建结构体 示例用法特点
示例代码:package mainimport "fmt"// Movie 首先使用关键字 type 声明结构体type Movie struct { Name string Rating float32}func main() { // 然后创建实例化结构体 : 每个元素都需要使用逗号 ,结尾 // 简短变量创建 m := Movie{ Name: "w...原创 2019-08-09 10:26:10 · 1372 阅读 · 0 评论 -
Golang []string 与 []byte 字符串数组与字符数组的区别与联系
golang 底层设计中,string 和 slice 的数据类型都是 struct。在 golang 中,string 的实质是只读的切片,内容一旦被定义就不能修改。[] byte 字符串数组可以被修改及更新。...原创 2019-08-02 15:08:10 · 1245 阅读 · 0 评论 -
Golang 映射 声明使用原理及方法
1. 映射以 键值对 的方式存储数据。2. 映射可以直接通过 键名 来定位方位映射中对应的值。3. 映射可以通过键名来检索数据。使用关键字:var 、make 与 map 声明创建映射。映射的声明语法:var 映射名 = make( map[string] int )映射的赋值语法:映射名["键名"] = 对应值内容...原创 2019-08-08 19:05:21 · 422 阅读 · 0 评论 -
Golang 切片 操作方法教程
1. append( ) 切片添加元素:使用函数 :append( 原切片,待添加切片元素 )2. append( ) 切片添加多个元素:append( ) 是一个不定参数函数,如果需要添加多个参数,直接在后续田间即可。使用示例:append( 原切片,待添加元素1, 待添加元素2, 待添加元素3 ... )...原创 2019-08-08 18:35:53 · 586 阅读 · 0 评论 -
Golang 切片 定义使用声明 属性特点 原理及方法
1. var 声明定义:使用关键字 : var makevar 切片名 = make( [ ] 元素数据类型 , 内容元素个数 )2. 隐式直接声明:切片名 := make( [ ] 元素数据类型 , 内容元素个数 )3. 赋值声明:切片名[ 元素序列号 ] = 元素赋值内容4. 使用示例结构代码:package mainimport "fmt"func main(...原创 2019-08-08 14:40:51 · 772 阅读 · 0 评论 -
Golang 数组与切片的区别比较
1. 数组数组可以储存过个元素。可以实现多维数组。数组一经声明定义,则不能修改更新内容。具有可读不可写的性质。2. 切片切片可以储存过个元素。可以实现多维切片。切片在声明定义后,可以修改更新内容。具有可读可写的性质。...原创 2019-08-08 14:26:31 · 413 阅读 · 0 评论 -
Golang 数组 定义使用及功能
var 声明定义语法:var 数组名 [数组长度] 数组元素数据类型示例代码:package mainimport "fmt"func main() { var a [3]string a[0] = "www." a[1] = "ydook" a[2] = ".com" for _, i := range a { fmt.Println(i) }}运行结果...原创 2019-08-08 13:50:27 · 2074 阅读 · 0 评论 -
Golang github.com/lib/pq 第三方包介绍 官方定义
官方主页:Ydook JyLin 提示:github.com/lib/pq 第三方 官网原创 2019-08-01 17:54:35 · 2070 阅读 · 0 评论 -
go get -d , go get -u , go get -fix 安装命令的定义与使用
使用 go get 命令可以用来直接为现有的 Golang 环境安装第三方包。使用方法:go get -模式参数 第三方包名称命令的模式参数:go get -d : 只下载不安装。go get -d : 在线下载安装及更新第三方包。go get -fix : 下载安装包后先执行修正动作,配置好环境,避免出现版本兼容问题,然后再进行安装。...原创 2019-08-01 17:50:18 · 2174 阅读 · 0 评论 -
YDOOK :Golang 各大操作系统 完全卸载删除 golang 的方法教程
1. 直接删除 Golang 安装包:如果是默认安装,Golang 的默认安装目录为:a. Linux、Mac OS X、和 FreeBSD 系统下通常为 /usr/local/go 。b. Windows 下为 c:\Go 。2. 删除环境变量:从 PATH 环境变量中移除 Golang 的 bin 目录:a. Linux 和 FreeBSD 下, 编辑 /etc/profil...原创 2019-08-05 12:01:42 · 11051 阅读 · 0 评论 -
Golang 接口方法 定义使用及特点
示例代码:package mainimport ( "errors" "fmt")// BigFunc 定义接口// 接口可以看做大类方法集合名type BigFunc interface { // 接口内部定义方法 SomeFunc1() error SomeFunc2() error SomeFunc3() error}// Son1 定义接口子类结构typ...原创 2019-08-09 11:46:58 · 1027 阅读 · 0 评论 -
Golang 利用字节缓冲区 bytes.Buffer 创建字符串
示例代码:package mainimport ( "bytes" "fmt" "reflect")func main() { var buffer bytes.Buffer buffer.WriteString("www.ydook.com") buffer.WriteString("\n") buffer.WriteString("welcome!") buffe...原创 2019-08-09 12:14:40 · 3482 阅读 · 1 评论 -
Golang fmt包 Printf 格式化输出标志符使用 % 百分号 使用方法 2
123原创 2019-08-20 19:08:29 · 4436 阅读 · 0 评论 -
Golang fmt包 Printf 格式化输出标志符使用 % 百分号 使用方法 1
% 格式化 常用规格通用的 General%v : 以默认的方式打印变量的值%T : 打印变量的数据类型整型的 Integer%+d : 以带符号整型的方式打印变量的值%q : 打印单引号%o : 以八进制不带零的方式打印变量的值%#o : 以八进制带零的方式打印变量的值%x : 以十六进制小写的方式打印变量的值%#x : 以带0x十六进制的方式打印变量的值...原创 2019-08-20 19:01:25 · 5106 阅读 · 0 评论 -
Golang Testing包 测试使用教程 get-want
/root/ydook.gopackage mainimport "fmt"// F1 get stringfunc F1() string { return "www.ydook.com : testing for golang"}func main() { a := F1() fmt.Println(a)}/root/ydook_test.gopackage ...原创 2019-08-11 09:46:13 · 353 阅读 · 0 评论 -
Golang testing包 测试使用示例教程
示例代码:root/E.gopackage mainimport "fmt"// F1 get stringfunc F1() string { return "www.ydook.com : testing for golang"}func main() { a := F1() fmt.Println(a)}root/E_test.gopackage main...原创 2019-08-10 14:44:42 · 618 阅读 · 0 评论 -
Golang : wrong signature for TestMain, must be: func TestMain(m *testing.M) 问题处理
问题出在:测试文件没有引入 testing 包,测试函数没有正确使用。测试文件的测试函数的正确使用方法:func TestFunc(m *testing.M) { ... }原创 2019-08-10 14:29:52 · 1311 阅读 · 0 评论 -
Golang package 包的使用原理方法 调用其他包中的函数及参数
示例代码:root/Main.gopackage main// 要使用其他包需要 import 引入import p1 "./Pak1"func main() { // 不同一个文件夹(包)内的函数需要使用包名.号调用 p1.Bar1FuncPrint()}root/Pack1/func1.gopackage p1import "fmt"// Bar1FuncP...原创 2019-08-10 14:12:25 · 6351 阅读 · 0 评论 -
Golang bool值控制通道通信 控制通道退出
示例代码:package mainimport ( "fmt" "math" "time")func newsFunc(a chan string) { t := time.NewTicker(time.Millisecond * 300) i := 0 for j := 0; j < 20; j++ { i++ fmt.Println("ydook.co...原创 2019-08-10 11:16:37 · 235 阅读 · 0 评论 -
Golang select 通道通信选择 2
示例代码:package mainimport ( "fmt" "time")//定义 读写通道 函数func chanFunc1(c chan string) { c <- "YDOOK.COM"}func chanFunc2(c chan string) { c <- "www.ydook.com"}func main() { c1 := mak...原创 2019-08-10 10:04:15 · 168 阅读 · 0 评论 -
Golang select 通道通信选择 1
示例代码:package mainimport "fmt"//定义 读写通道 函数func channelReaderWriter(c chan string) { c <- "YDOOK.COM"}func main() { c1 := make(chan string) c2 := make(chan string) go channelReaderWrite...原创 2019-08-10 09:52:37 · 276 阅读 · 0 评论 -
Golang 只读通道 只写通道 读写通道 定义使用及原理
示例代码:package mainimport "fmt"//定义 只读通道 函数func channelF1Reader(mes <-chan string) { msg := <-mes fmt.Println(msg)}//定义 只写通道 函数func channelF2Writer(mes chan<- string) { mes <- "...原创 2019-08-10 09:31:07 · 2458 阅读 · 0 评论 -
Golang 通道控制并发 goroutine 4
示例代码:package mainimport ( "fmt" "strconv" "time")var i = 0func channel1(c chan string) { t := time.NewTicker(time.Second / 3) // i++ 每次循环不支持 for{ } 花括号内的内容 for { i++ c <- "WWW.YD...原创 2019-08-10 09:20:13 · 185 阅读 · 0 评论 -
Golang 通道控制并发 goroutine 3
示例代码:package mainimport ( "fmt" "time")func channel1(c chan string) { // 创建时间触发器 t := time.NewTicker(time.Second * 2) for { c <- "YDOOK" <-t.C }}func main() { // 创建通道 mes :...原创 2019-08-10 09:15:47 · 203 阅读 · 0 评论 -
Golang 通道控制并发 goroutine 2
代码示例:package mainimport ( "fmt" "reflect" "time")func Channel1(c chan string) { time.Sleep(time.Second * 3) fmt.Println("Enter Channel1!") c <- "ydook.com 1"}func Channel2(c chan str...原创 2019-08-09 14:54:08 · 176 阅读 · 0 评论 -
Golang 通道控制并发 goroutine 1
示例代码:package mainimport ( "fmt" "reflect" "time")func Channel(c chan string) { time.Sleep(time.Second * 1) c <- "worked successfully!"}func main() { a := make(chan string) fmt.Print...原创 2019-08-09 14:27:13 · 192 阅读 · 0 评论 -
Golang 源码安装方式 完整教程
1. 构建编译器:根据系统平台下载对应的Go 编译器的 zip 或 tar 包。解压到设定的文件夹。文件夹命名为:$HOME/go版本2. 安装版本控制器 Git:Git 用于克隆下载最新版本的 golang。3. 使用 Git 获取 golang 代码仓库:a. 使用命令,切换进入要安装 Golang 的目录;b. 输入代码:$ git clone https://go.go...原创 2019-08-05 11:47:00 · 2828 阅读 · 0 评论 -
Golang 递归函数 定义使用、定义方法与定义特定
特点与方法:在函数内部调用本函数,就是函数的递归调用。示例代码:package mainimport "fmt"func recursive(x int) (re int) { x++ fmt.Println(x) re = x * 2 fmt.Println(re) recursive(re) return re}func main() { recursive...原创 2019-07-31 21:25:04 · 322 阅读 · 0 评论 -
Golang 高效编程 条件判断语句 循环控制语句 设计与风格 (1)
1. Golang 没有 while 循环语句结构,也没有 do-while 循环语句结构。2. Golang 条件判断语句与循环控制语句的条件不需要使用圆括号 ( ) 包括起来。3. Golang 条件判断语句与循环控制语句的用花括号 { } 包括起来。且第一个花括号 { 应该写在与生命名称的同一行。4. if 语句可以通过 break、continue、goto 或 return 结束,...原创 2019-08-03 09:29:53 · 233 阅读 · 0 评论 -
Golang 高效编程 分号的使用 与 风格
Golang 中分号 ; 一般是不用在一行代码的末尾加上的。Golang 的编译器的词汇语法分析功能会在编译之前将分开的句子统统加上分号。如果需要在一行中写多个语句,则不同语句需要通过 ; 号分开。...原创 2019-08-03 09:07:08 · 880 阅读 · 0 评论 -
Golang 高效编程 命名规则 与 风格
包 的命名:按照惯例, 包应当以单独的一个小写的单词来命名。而且不应使用下划线或驼峰记法命名。注意是只用一个英文单词进行命名。概括性强。包目录 的命名:按照惯例, 包目录的命名应该使用斜杠 / 而不是 下划线或者驼峰标记来命名。示例: src/pkg/dir/package不建议长命名:Golang 建议使用有效的说明文档或者注释而不是通过长命名来提高源码的可读性。对于获取器及...原创 2019-08-03 08:55:18 · 373 阅读 · 0 评论 -
Golang 高效编程 godoc 包注释 注释文件标注风格
1. 源代码中每一个包都需要具有 包注释。2. 包注释用一个代码块表示。3. 包注释写在包声明的上面。一个包只需要一个包声明,因此:一个包只需要一个包注释。4. 使用 godoc 可以生成注释文件。5. 在 Golang 源程序中,每个可导出(首字母大写)的名称(接口、函数)都应该有文档注释。6. 注释应该以 名称 开头,可以是接口/函数的名称,也可以是包名称。7. 获取自定义注释说明...原创 2019-08-03 08:37:21 · 1305 阅读 · 0 评论 -
Golang 格式化 gofmt 包 插件 功能特点
1. 等同命令:go fmt : 可以获得相同的效果。2. 功能:将Go程序或者 Golang 源代码按照规定的标准风格进行缩进、 对齐,保留注释等处理,并在需要时重新格式化。3. 使用制表符 tab 进行缩进.4. Golang 代码行的最大长度是不限制的。5. gofmt 对 Golang 源代码的手动换行不处理。...原创 2019-08-02 22:57:30 · 847 阅读 · 0 评论 -
Golang 数据类型转换 Int数据类型转化为 String 数据类型 strconv.Itoa( )
Golang 数据类型转换 Int 转化为 String 使用函数为:strconv.Itoa()示例converted_variable = strconv.Itoa( original_int_varialble )原创 2019-07-30 17:30:56 · 630 阅读 · 0 评论 -
Golang 解析 JSON 数据 方法与特点
1. 使用解析函数: json.Unmarshal( bytes字符数组,&结构体名称 )2. 解析步骤:1.示例代码:package mainimport ( "encoding/json" "fmt" "log" "reflect")type person struct { Name string `json:"name,omitempty"`...原创 2019-08-02 19:20:11 · 246 阅读 · 0 评论