🔺1. تابعی که یکی از پارامترهای خود را تغییر میدهد
🔹وقتی تابعی را فراخوانی میکنیم که یک پوینتر را به عنوان پارامتر میگیرد، انتظار داریم که متغیر ما تغییر داده شود. اگر شما متغیر را در تابع خود تغییر نمیدهید، پس احتمالا نباید از پوینتر استفاده کنید.
🔻2. عملکرد بهتر
🔹اگر رشتهای داشته باشید که شامل یک رمان کامل در حافظه باشد، کپی کردن این متغیر هر بار که به یک تابع جدید ارسال میشود، کاری بسیار گران است. ممکن است ارزشمند باشد که به جای این کار یک پوینتر را ارسال کنید، که باعث صرفهجویی در پردازنده و حافظه میشود. با این حال انجام این کار به قمیت خوانا بودن است، بنابراین فقط در صورت لزوم این بهینهسازی را انجام دهید.
🔻3. به گزینه Nil نیاز دارید
🔹گاهی اوقات یک تابع باید بداند که مقدار یک چیزی چیست، همچنین باید وجود یا عدم وجود آن را بداند. معمولا هنگام خواندن JSON از این استفاده میکنیم تا بدانیم فیلدی وجود دارد یا خیر.
🔰 @gopher_academy
🔹وقتی تابعی را فراخوانی میکنیم که یک پوینتر را به عنوان پارامتر میگیرد، انتظار داریم که متغیر ما تغییر داده شود. اگر شما متغیر را در تابع خود تغییر نمیدهید، پس احتمالا نباید از پوینتر استفاده کنید.
🔻2. عملکرد بهتر
🔹اگر رشتهای داشته باشید که شامل یک رمان کامل در حافظه باشد، کپی کردن این متغیر هر بار که به یک تابع جدید ارسال میشود، کاری بسیار گران است. ممکن است ارزشمند باشد که به جای این کار یک پوینتر را ارسال کنید، که باعث صرفهجویی در پردازنده و حافظه میشود. با این حال انجام این کار به قمیت خوانا بودن است، بنابراین فقط در صورت لزوم این بهینهسازی را انجام دهید.
🔻3. به گزینه Nil نیاز دارید
🔹گاهی اوقات یک تابع باید بداند که مقدار یک چیزی چیست، همچنین باید وجود یا عدم وجود آن را بداند. معمولا هنگام خواندن JSON از این استفاده میکنیم تا بدانیم فیلدی وجود دارد یا خیر.
🔰 @gopher_academy
Forwarded from Gopher Academy
🔺نقشه یادگیری زبان برنامه نویسی گولنگ🔺
🔹️roadmap part 1
https://t.me/gopher_academy/7
🔹️roadmap part 2
https://t.me/gopher_academy/9
🔹️roadmap part 3
https://t.me/gopher_academy/11
✋ @gopher_academy
🔹️roadmap part 1
https://t.me/gopher_academy/7
🔹️roadmap part 2
https://t.me/gopher_academy/9
🔹️roadmap part 3
https://t.me/gopher_academy/11
✋ @gopher_academy
#نکته
🎯زمانی که توی کدهاتون defer دارید از log.fatal استفاده نکنید حتی os.exit چون باعث میشه اون defer اجرا نشه. اما اگر painc باشه بجای log.fatal مشکلی نیست🎯
.
🔰 @gopher_academy
🎯زمانی که توی کدهاتون defer دارید از log.fatal استفاده نکنید حتی os.exit چون باعث میشه اون defer اجرا نشه. اما اگر painc باشه بجای log.fatal مشکلی نیست🎯
.
🔰 @gopher_academy
🎯جذب همبنیانگذار فنی، Back-End Software Engineer در آرکپچا🎯
🔰نیازمندیهای فنی:
🔹تجربه کار با REST API
🔹 تجربه کار با زبان Go
🔹آشنا با Docker و Kubernetes
🔹تماموقت - امکان دورکاری
🔴اطلاعات بیشتر و ارسال رزومه:
https://jobinja.ir/594514
.
🔰 @gopher_academy
🔰نیازمندیهای فنی:
🔹تجربه کار با REST API
🔹 تجربه کار با زبان Go
🔹آشنا با Docker و Kubernetes
🔹تماموقت - امکان دورکاری
🔴اطلاعات بیشتر و ارسال رزومه:
https://jobinja.ir/594514
.
🔰 @gopher_academy
Which of the following is not a integer type in Go?
Anonymous Quiz
4%
uint8
2%
uint64
72%
complex128
22%
all of the above
👇🏻SQL database drivers👇🏻
🎯part one
🎯Apache Ignite/GridGain:
https://github.com/amsokol/ignite-go-client
🎯Apache Impala:
https://github.com/bippio/go-impala
🎯Apache Avatica/Phoenix:
https://github.com/apache/calcite-avatica-go
🎯Amazon AWS Athena:
https://github.com/uber/athenadriver
🎯AWS Athena:
https://github.com/segmentio/go-athena
🎯ClickHouse (uses native TCP interface):
https://github.com/ClickHouse/clickhouse-go
🎯ClickHouse (uses HTTP API):
https://github.com/mailru/go-clickhouse
🎯CockroachDB:
Use any PostgreSQL driver
🎯Couchbase N1QL:
https://github.com/couchbase/go_n1ql
🎯DB2 LUW and DB2/Z with DB2-Connect:
https://bitbucket.org/phiggins/db2cli (Last updated 2015-08)
🎯DB2 LUW (uses cgo):
https://github.com/asifjalil/cli
🎯DB2 LUW, z/OS, iSeries and Informix:
https://github.com/ibmdb/go_ibm_db
🎯Firebird SQL:
https://github.com/nakagami/firebirdsql
🎯Genji (pure go):
https://github.com/genjidb/genji
.
🔰 @gopher_academy
🎯part one
🎯Apache Ignite/GridGain:
https://github.com/amsokol/ignite-go-client
🎯Apache Impala:
https://github.com/bippio/go-impala
🎯Apache Avatica/Phoenix:
https://github.com/apache/calcite-avatica-go
🎯Amazon AWS Athena:
https://github.com/uber/athenadriver
🎯AWS Athena:
https://github.com/segmentio/go-athena
🎯ClickHouse (uses native TCP interface):
https://github.com/ClickHouse/clickhouse-go
🎯ClickHouse (uses HTTP API):
https://github.com/mailru/go-clickhouse
🎯CockroachDB:
Use any PostgreSQL driver
🎯Couchbase N1QL:
https://github.com/couchbase/go_n1ql
🎯DB2 LUW and DB2/Z with DB2-Connect:
https://bitbucket.org/phiggins/db2cli (Last updated 2015-08)
🎯DB2 LUW (uses cgo):
https://github.com/asifjalil/cli
🎯DB2 LUW, z/OS, iSeries and Informix:
https://github.com/ibmdb/go_ibm_db
🎯Firebird SQL:
https://github.com/nakagami/firebirdsql
🎯Genji (pure go):
https://github.com/genjidb/genji
.
🔰 @gopher_academy
👇🏻SQL database drivers👇🏻
🎯part two
🎯Google Cloud BigQuery:
https://github.com/solcates/go-sql-bigquery
🎯Google Cloud Spanner:
https://github.com/rakyll/go-sql-driver-spanner
🎯MS ADODB:
https://github.com/mattn/go-adodb
🎯MS SQL Server (pure go):
https://github.com/denisenkom/go-mssqldb
🎯MS SQL Server (uses cgo):
https://github.com/minus5/gofreetds
🎯MySQL:
https://github.com/go-sql-driver/mysql/ [*]
🎯MySQL:
https://github.com/siddontang/go-mysql/ [] (also handles replication)
🎯MySQL:
https://github.com/ziutek/mymysql [*]
🎯ODBC:
https://bitbucket.org/miquella/mgodbc (Last updated 2016-02)
🎯ODBC:
https://github.com/alexbrainman/odbc
🎯Oracle (uses cgo):
https://github.com/mattn/go-oci8
🎯Oracle (uses cgo):
https://gopkg.in/rana/ora.v4
🎯Oracle (uses cgo):
https://github.com/godror/godror
🎯Oracle (pure go):
https://github.com/sijms/go-ora
🎯QL:
http://godoc.org/github.com/cznic/ql/driver
🎯Postgres (pure Go):
https://github.com/lib/pq [*]
🎯Postgres (uses cgo):
https://github.com/jbarham/gopgsqldriver
🎯Postgres (pure Go):
https://github.com/jackc/pgx []
🎯Presto:
https://github.com/prestodb/presto-go-client
🎯SAP HANA (uses cgo):
https://help.sap.com/viewer/0eec0d68141541d1b07893a39944924e/2.0.03/en-US/0ffbe86c9d9f44338441829c6bee15e6.html
.
🔰 @gopher_academy
🎯part two
🎯Google Cloud BigQuery:
https://github.com/solcates/go-sql-bigquery
🎯Google Cloud Spanner:
https://github.com/rakyll/go-sql-driver-spanner
🎯MS ADODB:
https://github.com/mattn/go-adodb
🎯MS SQL Server (pure go):
https://github.com/denisenkom/go-mssqldb
🎯MS SQL Server (uses cgo):
https://github.com/minus5/gofreetds
🎯MySQL:
https://github.com/go-sql-driver/mysql/ [*]
🎯MySQL:
https://github.com/siddontang/go-mysql/ [] (also handles replication)
🎯MySQL:
https://github.com/ziutek/mymysql [*]
🎯ODBC:
https://bitbucket.org/miquella/mgodbc (Last updated 2016-02)
🎯ODBC:
https://github.com/alexbrainman/odbc
🎯Oracle (uses cgo):
https://github.com/mattn/go-oci8
🎯Oracle (uses cgo):
https://gopkg.in/rana/ora.v4
🎯Oracle (uses cgo):
https://github.com/godror/godror
🎯Oracle (pure go):
https://github.com/sijms/go-ora
🎯QL:
http://godoc.org/github.com/cznic/ql/driver
🎯Postgres (pure Go):
https://github.com/lib/pq [*]
🎯Postgres (uses cgo):
https://github.com/jbarham/gopgsqldriver
🎯Postgres (pure Go):
https://github.com/jackc/pgx []
🎯Presto:
https://github.com/prestodb/presto-go-client
🎯SAP HANA (uses cgo):
https://help.sap.com/viewer/0eec0d68141541d1b07893a39944924e/2.0.03/en-US/0ffbe86c9d9f44338441829c6bee15e6.html
.
🔰 @gopher_academy
👇🏻SQL database drivers👇🏻
🎯part tree
🎯SAP HANA (pure go):
https://github.com/SAP/go-hdb
🎯SAP ASE (uses cgo):
https://github.com/SAP/go-ase - package cgo (pure go package planned)
🎯Snowflake (pure Go):
https://github.com/snowflakedb/gosnowflake
🎯SQLite (uses cgo):
https://github.com/mattn/go-sqlite3 [*]
🎯SQLite (uses cgo):
https://github.com/gwenn/gosqlite - Supports SQLite dynamic data typing
🎯SQLite (uses cgo):
https://github.com/mxk/go-sqlite
🎯SQLite: (uses cgo):
https://github.com/rsc/sqlite
🎯SQLite: (pure go):
https://modernc.org/sqlite
🎯SQL over REST:
https://github.com/adaptant-labs/go-sql-rest-driver
🎯Sybase SQL Anywhere:
https://github.com/a-palchikov/sqlago
🎯Sybase ASE (pure go):
https://github.com/thda/tds
🎯TiDB:
Use any MySQL driver
🎯Vertica:
https://github.com/vertica/vertica-sql-go
🎯Vitess:
https://godoc.org/vitess.io/vitess/go/vt/vitessdriver
🎯YQL (Yahoo! Query Language):
https://github.com/mattn/go-yql
🎯Apache Hive:
https://github.com/sql-machine-learning/gohive
🎯MaxCompute:
https://github.com/sql-machine-learning/gomaxcompute
.
🔰 @gopher_academy
🎯part tree
🎯SAP HANA (pure go):
https://github.com/SAP/go-hdb
🎯SAP ASE (uses cgo):
https://github.com/SAP/go-ase - package cgo (pure go package planned)
🎯Snowflake (pure Go):
https://github.com/snowflakedb/gosnowflake
🎯SQLite (uses cgo):
https://github.com/mattn/go-sqlite3 [*]
🎯SQLite (uses cgo):
https://github.com/gwenn/gosqlite - Supports SQLite dynamic data typing
🎯SQLite (uses cgo):
https://github.com/mxk/go-sqlite
🎯SQLite: (uses cgo):
https://github.com/rsc/sqlite
🎯SQLite: (pure go):
https://modernc.org/sqlite
🎯SQL over REST:
https://github.com/adaptant-labs/go-sql-rest-driver
🎯Sybase SQL Anywhere:
https://github.com/a-palchikov/sqlago
🎯Sybase ASE (pure go):
https://github.com/thda/tds
🎯TiDB:
Use any MySQL driver
🎯Vertica:
https://github.com/vertica/vertica-sql-go
🎯Vitess:
https://godoc.org/vitess.io/vitess/go/vt/vitessdriver
🎯YQL (Yahoo! Query Language):
https://github.com/mattn/go-yql
🎯Apache Hive:
https://github.com/sql-machine-learning/gohive
🎯MaxCompute:
https://github.com/sql-machine-learning/gomaxcompute
.
🔰 @gopher_academy
🎯نفشه یادگیری زبان برنامه نویسی گولنگ🎯
🔺این ویدیو رو خودم ضبط کردم امیدوارم خوشتون بیاد
🔵 https://youtu.be/l-NzizHAEco
.
🔰 @gopher_academy
🔺این ویدیو رو خودم ضبط کردم امیدوارم خوشتون بیاد
🔵 https://youtu.be/l-NzizHAEco
.
🔰 @gopher_academy
🔸استخدام Golang Back-End Developer (Go) در شرکت والی آرمان تجارت | VALUELIM #تهران
🔹حقوق تا ۸ میلیون تومان
🔗 https://quera.ir/r/GfSgi1
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔹حقوق تا ۸ میلیون تومان
🔗 https://quera.ir/r/GfSgi1
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy