原创 go語言基礎 時間time包

time包下有很多跟時間有關係的方法,以前我們介紹的隨機數就是利用了time包下的一個方法,接下來我再來介紹一些常用方法日期和時間 Now()-->Time,獲取當前的日期 Date()-->Time,獲取指定的日期 time-->str

原创 go語言基礎 共享資源競爭 互斥鎖sync.Mutex

共享資源競爭: 多個goroutine操作同一個共享數據,存在不安全。i:=1 go func(){ //第一個Goroutine 我們叫他g1

原创 go語言基礎 文件創建,打開,刪除 os包

os包下,文件目錄可以創建,打開,刪除等等一些操作,廢話不多我們上代碼package main import ( "os" "fmt" "path/filepath" ) func main() { //1.

原创 go語言基礎 實現error接口

Error是個接口,有兩種可以自定義錯誤信息的方法第一種errors.New(string) 在errors包下,有封裝號好了的方法直接在裏面寫上錯誤信息就可以err = errors.New("寫錯了")第二種 就是聲明一個結構體,直接

原创 go語言基礎 斷點續傳

我們可以利用讀寫來複制文件,也可以在複製的同時,再新建一個臨時文件保存讀寫的進度,如果有意外發生,我們還可以通過臨時文件中的進度,來繼續複製文件package main import ( "os" "fmt" "str

原创 MySQL DQL語言數據查詢語言

1.基本查詢 select 字段,字段 。。。from 表名 as,distinct。。。2.條件查詢 select 。。。from 表名 where[查詢條件] 比較運算符:>,<,>=,<=,=,!=,

原创 go語言基礎 讀寫工具 ioutil包

大家有沒有覺得用os包下讀寫文件很麻煩呀,先要打開文件,然後讀取文件,然後再用[]byte數組在一點一點去讀去寫,下面我來給大家介紹一個很好用的方法,iotuil包,這裏面方法不多但是都是很方便的方法,都是封裝好的,文件不用打開,直接拿來

原创 go語言基礎 生產者和消費者模型

生產者和消費者模型的概念 生產者:一個goroutine,向通道中發送數據 消費者:一個goroutine,從通道中接收數據 可以是N個生產者對應N個消費者。這是一個生成者對應兩個消費者package ma

原创 go語言基礎 通道 channel

1.通道的概念: Channel,通道,專門用於goroutine之間傳遞消息 也是一種引用類型的數據:可以作爲參數,也可以作爲返回值 語法: 1.創建:make(chan T) 2.使用: 發送數據:寫

原创 go語言基礎 反射 reflect

反射reflectstruct reflect.TypeOf(i interface{})-->Type 獲取結構體的字段的類型,字段名 方法的類型,方法的名字package main import (

原创 go語言基礎 select語句

select語句,專門用於通道的使用 select { case 通道的讀寫 }哪個case可以執行就執行哪個。如果有多個case可以執行,隨機選擇一個case執行。如果沒有case可以執行,有defaut

原创 go語言基礎 事務:transaction

原子性,一致性,隔離性,持久性 手動開啓事務:db.Begin()-->Tx 一組sql操作 tx.Exec(),tx.Prepare()... 手動提交提交,回滾 tx.Commit(),tx.Roll

原创 go語言基礎 網絡編程socket編程基本概念

1.網絡編程 socket -->TCP,UDP TCP:面向連接編程 類比於打電話 數據安全,效率低(反覆的確認,3次握手) UDP:面向無連接編程 類比於寫信 數據不安全,效率高(只負責發送數據。。)2

原创 go語言基礎 鏈接MySQL

插入操作:step1:導包 "database/sql" _ "github.com/go-sql-driver/mysql"step2:打開數據庫,建立連接 db,_:=sql.Open("mysql",

原创 MySQL基礎 DML語言 (數據操縱語言) DDL語言 (數據定義語言)DQL語言 (數據查詢語言)

DDL語言,數據定義語言 創建數據庫,創建數據表,修改表結構,刪除表。。。創建數據庫create database if not exists 數據庫名 default charset utf8 collate utf8_general_