[talk] Go As a Programming Language
Mark Phelan
phelanm at gmail.com
Mon May 22 15:19:27 EDT 2017
* Sujit K M <kmsujit at gmail.com> [2017-05-22 20:29:25+0530]:
> Is there a suggestion for a book on Go?
maybe this so-called-object-relational-mapping thing gorm
can give you a jump start?
# follow: http://jinzhu.me/gorm/
mjp at quirm:~/src/golang/gorm/quickstart$ sudo apt-get install golang
..The following NEW packages will be installed:
golang golang-1.7 golang-1.7-doc golang-1.7-go golang-1.7-src golang-doc
golang-go golang-src
0 upgraded, 8 newly installed, 0 to remove and 798 not upgraded..
mjp at quirm:~/src/golang/gorm/quickstart$ go get -u github.com/jinzhu/gorm
package github.com/jinzhu/gorm: cannot download, $GOPATH not set. For
more details see: go help gopath
mjp at quirm:~/src/golang/gorm/quickstart$ go help gopath
...
mjp at quirm:~/src/golang/gorm/quickstart$ export
GOPATH=/home/mjp/src/golang/gorm/quickstart
mjp at quirm:~/src/golang/gorm/quickstart$ go get -u github.com/jinzhu/gorm
mjp at quirm:~/src/golang/gorm/quickstart$ ls |cat
pkg
src
mjp at quirm:~/src/golang/gorm/quickstart$ cat qs.go
package main
import (
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/sqlite"
)
type Product struct {
gorm.Model
Code string
Price uint
}
func main() {
db, err := gorm.Open("sqlite3", "test.db")
if err != nil {
panic("failed to connect database")
}
defer db.Close()
// Migrate the schema
db.AutoMigrate(&Product{})
// Create
db.Create(&Product{Code: "L1212", Price: 1000})
// Read
var product Product
db.First(&product, 1) // find product with id 1
db.First(&product, "code = ?", "L1212") // find product with code l1212
// Update - update product's price to 2000
db.Model(&product).Update("Price", 2000)
// Delete - delete product
db.Delete(&product)
}
mjp at quirm:~/src/golang/gorm/quickstart$ go run qs.go
src/github.com/jinzhu/gorm/dialects/sqlite/sqlite.go:3:8: cannot find
package "github.com/mattn/go-sqlite3" in any of:
/usr/lib/go-1.7/src/github.com/mattn/go-sqlite3 (from $GOROOT)
/home/mjp/src/golang/gorm/quickstart/src/github.com/mattn/go-sqlite3
(from $GOPATH)
mjp at quirm:~/src/golang/gorm/quickstart$ go get -u github.com/mattn/go-sqlite3
mjp at quirm:~/src/golang/gorm/quickstart$ go run qs.go
# it works, as in: no errors, test.db exists?
mjp at quirm:~/src/golang/gorm/quickstart$ ls |cat
pkg
qs.go
src
test.db
On Mon, May 22, 2017 at 2:31 PM, N.J. Thomas <njt at ayvali.org> wrote:
> * Sujit K M <kmsujit at gmail.com> [2017-05-22 20:29:25+0530]:
>> Is there a suggestion for a book on Go?
>
> Just started learning it recently myself. The "Tour of Go" site is pretty
> helpful if you already know how to program:
>
> https://tour.golang.org/list
>
> The thing that struck me as I started to learn is how different Go is
> from anything else I've ever encountered. It took me about a day to
> learn Python (I had Perl and C under my belt at the time), but Go does
> its own thing (some of it makes sense, other things I'm not so sure
> about).
>
> Thomas
>
> _______________________________________________
> talk mailing list
> talk at lists.nycbug.org
> http://lists.nycbug.org/mailman/listinfo/talk
--
Green New Deal, Full Employment, 20 million jobs, 100% Clean Energy:
http://www.jill2016.com/greennewdeal
More information about the talk
mailing list